Unit testing 尽管没有调用mock方法,为什么这个TestNG测试通过了?
我使用TestNG和jMock进行单元测试,但TestNG有一个问题。当我期望调用模拟对象方法时,它会将测试标记为已通过,而实际情况并非如此Unit testing 尽管没有调用mock方法,为什么这个TestNG测试通过了?,unit-testing,testing,testng,jmock,Unit Testing,Testing,Testng,Jmock,我使用TestNG和jMock进行单元测试,但TestNG有一个问题。当我期望调用模拟对象方法时,它会将测试标记为已通过,而实际情况并非如此 public class SomeTestTest { Mockery mocker = new Mockery(); SomeInterface someInterface = mocker.mock(SomeInterface.class); @Test public void testName() throws Excepti
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
你错过了一个电话
该调用告诉jMock您希望所有期望都得到满足的时间。否则,它将不知道您希望在代码中的哪一点对其进行验证
这一点在文章中也有解释