0

我使用 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
4

1 回答 1

1

您错过了对Mockery.assertIsSatisfied().

该调用告诉 jMock您何时期望满足所有期望。否则,它不会知道您希望在代码中的哪一点进行验证。

入门文章中也对此进行了说明。

于 2012-10-08T07:30:46.087 回答