2010-06-22 127 views
1

当我把一个“VerificationModeFactory.times(2)”在测试前,当我运行的类中的所有测试出现此异常:有问题的Mockito - exceptions.verification.WantedButNotInvoked

org.mockito.exceptions。验证.WantedButNotInvoked: 通缉但未调用: serviceService.getServices();

如果我单独运行每个测试或删除“VerificationModeFactory.times(2)”所有的作品。

这很奇怪。有人能帮助我吗?

+4

可能不是,除非你发布你的测试代码。或者最好是一个仍然能够重现问题的最小设置。 – 2010-06-22 15:19:24

回答

1

看起来好像您的验证是静态声明的 - 每个测试类一次,而不是每个测试方法一次。

这样做:

verify(mock, times(2)).did("my thing"); 

或在您的情况

verify(mockService, times(2)).getServices(); 

(顺便说一句,是很重要的是你的类获取服务的两倍,或者是它使用它,除非更重要呢?你正在描述一个性能修正,我可能会专注于服务提供的价值,使用Mockito可以帮助保持测试的灵活性,我的2美分)

+0

在我的情况中,它有点不同,我可以验证的方法不在模拟类中。 – joaosavio 2010-06-23 12:26:02

+0

请发布您的代码,请! – Lunivore 2010-06-23 12:35:41