2009-06-09 60 views
1

我尝试JMock的是我为我的项目模拟框架。我进入了一个需要嘲笑类和接口的情况。我用ClassImposteriser.INSTANCE来启动上下文的冒名顶替者。JMock的嘲讽类和接口

假设一类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

+0

请添加代码示例,使您的问题更清晰。也许我可以帮你.. – jrharshath 2009-06-09 04:48:37

回答

6

,你目前它不会编译(应该是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 { 
    } 
}