私はアプリケーションをプログラミングしていますが、それをテストするにはモックファイルが必要です。以下の私のコード:
@Test
public void testPostMail() throws Exception
{
Emailer instance = new Emailer();
instance.setRecipientsFromFile(new File("list.txt"));
}
問題は、hdd のファイルに依存したくないということです (もちろん、適切な内容のファイルを作成し、テスト後に削除することはできますが、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 に変更することを考えています。