2009-06-09 38 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 { 
    } 
}