EasyMock“预期1,实际1”

Jar*_*mex 0 java testing junit easymock

我目前在使用EasyMock进行单元测试时遇到问题。

Expectation failure on verify:
     FileConverter.convert(file, file2): expected: 1, actual: 1
Run Code Online (Sandbox Code Playgroud)

这是该类中唯一的失败,并且在下面的verify方法上失败。我已经尝试过搜索该消息,但是这只会显示“ expected:1,actual:1 (+1) ”的结果,而+1表示错误有所不同。

我试图简化失败的EasyMock测试的结构以进行演示。请原谅任何错别字:

@Test
public void testScan() {
  String[] testFiles = { "file", "file2" };
  FileConverter converterMock = EasyMock.createMock(FileConverter.class);
  Poller poller = new Poller(new File("testFolder"), converterMock);

  for (String testFile : testFiles) {
    converterMock.convert(new File(testFile));
    EasyMock.expectLastCall().once();
  }
  EasyMock.replay(converterMock);

  for (String testFile : testFiles) {
    poller.scan();
  }
  EasyMock.verify(converterMock);
}
Run Code Online (Sandbox Code Playgroud)

我认为代码本身并不特别相关,但是出于完整性考虑,我将其包括在内-我真正想要的是解释EasyMock.verify方法的上下文中“预期1,实际1”的含义。

提前致谢!

小智 5

另一种可选的情况是,在使用多线程环境时,可能会在测试结束后在模拟对象上调用了所需的方法。