使用JMockit,如何模拟特定输入参数值的接口方法?

Mar*_*cin 3 java junit unit-testing jmockit

假设我有一个Foo方法接口bar(String s).我唯一想要嘲笑的是bar("test");.

我不能用静态部分模拟来做,因为我只想要在bar传递"test"参数时模拟方法.我不能用动态部分模拟来做,因为这是一个接口,我也不希望实现构造函数被模拟.我也不能使用界面模拟MockUp,因为我无法注入模拟实例,它是在代码中创建的.

有什么我想念的吗?

Jun*_*ang 7

final Foo foo = new MockUp<Foo>() {
        @Mock
        public bar(String s)(){
        return "test";
        }
    }.getMockInstance();
foo.bar("") will now retun "test"...
Run Code Online (Sandbox Code Playgroud)