假设您有一些想要扩展的第三方库类,只需向其添加便捷方法即可(例如,您可以使用默认参数调用继承的方法)。

使用jUnit / jMock,是否可以编写断言/模拟期望来测试是否调用了正确的继承方法?

例如,如下所示:

class SomeClass extends SomeLibraryClass {
    public String method(String code) {
         return method(code, null, Locale.default());
    }
}


我如何断言正在调用method

最佳答案

您可以在单元测试中创建另一个子类,该子类实际上告诉您:

public class MyTest {
    boolean methodCalled = false;

    @Test
    public void testMySubclass(){
          TestSomeClass testSomeClass = new TestSomeClass();
          // Invoke method on testSomeclass ...
          assertTrue( methodCalled);

    }
    class TestSomeClass extends SomeClass{
        public String method(String code){
              methodCalled = true;
        }
     }
}

09-25 18:25
查看更多