我使用TestNG和jMock进行单元测试但是,我遇到了TestNG的问题。当我期望调用模拟对象方法而不是它时,它将测试标记为已通过!
public class SomeTestTest {
Mockery mocker = new Mockery();
SomeInterface someInterface = mocker.mock(SomeInterface.class);
@Test
public void testName() throws Exception {
mocker.checking(new Expectations() {{
oneOf(someInterface).someMethod();
}});
}
}
这是我收到的报告
Custom suite
Total tests run: 1, Failures: 0, Skips: 0
答案 0 :(得分:1)
您错过了对Mockery.assertIsSatisfied()
的电话。
该调用告诉jMock 何时您希望满足所有期望。否则,它不知道您希望在代码中的哪一点进行验证。
这也在Getting Started article中解释。