我正在编写应用程序,我需要模拟文件来测试它。我的代码如下:
@Test
public void testPostMail() throws Exception
{
Emailer instance = new Emailer();
instance.setRecipientsFromFile(new File("list.txt"));
}
问题是,我不想依赖硬盘上的文件(当然我可以制作一个内容正确的文件并在测试后删除它,但我想用 EasyMock 来做)。
我尝试导入 org.easymock.classextension.EasyMock 并使用它,但是:
1)我仍然收到错误“文件不是接口”
2) classextension.EasyMock 已弃用,所以我应该只使用 EasyMock
我不工作的 EasyMock 代码:
@Test
public void testSetReceipientsFromFile() throws Exception
{
File file = EasyMock.createMock(File.class);
FileReader in = EasyMock.createMock(FileReader.class);
BufferedReader br = EasyMock.createMock(BufferedReader.class);
EasyMock.expect(new FileReader(file)).andReturn(in);
EasyMock.expect(new BufferedReader(in)).andReturn(br);
EasyMock.expect(br.readLine()).andReturn("test@mail.com");
EasyMock.expect(br.readLine()).andReturn("test2@mail2.com");
EasyMock.replay(file, in, br);
EasyMock.verify(file, in, br);
// ...
}
编辑:我想从 EasyMock 更改为 Mockito,因为我听到了更有利的意见。