jmockit / easymock验证未模拟的方法是否被调用,即在不更改其行为的情况下验证是否调用了该方法

时间:2018-11-24 07:44:18

标签: junit4 easymock jmockit

这种情况适用于集成测试,我们希望行为完整无缺,只想验证是否已调用行为。

我要验证的方法不属于我当前的测试类;因此,我没有可访问/可注入的实例。

我尝试了验证和期望,但是这些都在嘲笑该方法。

1 个答案:

答案 0 :(得分:0)

一个代码示例将很有用,但是我想我知道您想要做的。使用EasyMock,您需要一个可委托给实际实现的模拟程序。

这里是一个例子:

public class MyTest {

  public static class MockedClass {
    public int value() {
      return 12;
    }
  }

  @Test
  public void test() {
    MockedClass realClass = new MockedClass();
    MockedClass mock = createMock(MockedClass.class);

    expect(mock.value()).andDelegateTo(realClass);

    replay(mock);

    // The test
    mock.value();

    // The verification
    verify(mock);
  }
}