【问题标题】:How to mock superclass call with EasyMock如何使用 EasyMock 模拟超类调用
【发布时间】:2016-02-24 10:11:21
【问题描述】:

有没有办法用 EasyMock 模拟超类调用?

我想测试这样的东西。

public class A extends B {

    @Override
    public String getName() {
        String bClassName = super.getName();
        String aClassName = "Class A";
        return aClassName + " -> " + bClassName;
    }
}

public class B {

    public String getName(){
        return "Class B";
    }

}

public class ATest extends TestCase {

    private A a = new A();

    @Test
    public void testGetName() {
        A partialMockA = EasyMock.createMockBuilder(A.class)
                .addMockedMethod("getName").createMock();

//      expect b.getName();

        replay(partialMockA);
        String name = partialMockA.getName();
        assertEquals("Class A -> <MockResult>", name);
        verify(partialMockA);
    }
}

我正在玩 partialMocks,但我认为这不是正确的做法。

【问题讨论】:

    标签: java junit4 easymock


    【解决方案1】:

    没有。不使用 EasyMock。您将需要添加 PowerMock 来执行此操作。例如,您可以抑制 super 调用(据我所知,但遗憾的是我手头没有示例)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多