jMock Mocking类和接口

Roy*_*uta 5 java mocking jmock

我正在尝试将jMock作为我项目的模拟框架.我遇到了需要模拟类和接口的情况.我用它ClassImposteriser.INSTANCE来启动上下文的冒名顶替者.

假设一个类Validator和一个Person模拟接口.当我要模拟界面时Person,我遇到了一个问题NoClassFoundDefError.当我嘲笑班级时Validator,没有问题.

我需要那个类和接口,但我无法解决问题.请帮忙.

代码示例:

蔑视

private Mockery context = new JUnit4Mockery() {{ setImposteriser(ClassImposteriser.Class) }};

课程:

private Validator validator;

界面:

private Person person;

内部测试方法

validator = context.Mock(Validator.class); ---->工作

person = context.Mock(Person.class); ----> NoClassFoundDefError

bm2*_*212 11

您呈现它的代码将无法编译(它应该是ClassImposteriser.INSTANCE).下面的示例代码似乎工作正常.也许您可以提供更多细节?

public class Example {
    private Mockery context = new JUnit4Mockery() {
    {
        setImposteriser(ClassImposteriser.INSTANCE);
    }
    };

    @Test
    public void testStuff() {
    Validator validator = context.mock(Validator.class);
    Person person = context.mock(Person.class);

    // do some stuff...
    }

    public static interface Person {
    }

    public static class Validator {
    }
}
Run Code Online (Sandbox Code Playgroud)