2009-06-09 2 views
1

jMock을 프로젝트의 조롱 프레임 워크로 실험하고있었습니다. 나는 클래스와 인터페이스를 조롱 할 필요가있는 상황에 처했다. 문맥의 사기꾼을 시작하기 위해 ClassImposteriser.INSTANCE을 사용했습니다.jockock mocking 클래스와 인터페이스

클래스 Validator 및 인터페이스 Person을 모의한다고 가정하십시오. 인터페이스 Person을 조롱 할 때 NoClassFoundDefError이라는 문제가 발생했습니다. 내가 Validator 클래스를 조롱했을 때 아무런 문제가 없었다.

클래스와 인터페이스가 모두 필요하지만 문제를 해결할 수 없습니다. Please HELP.

코드 예 :

조롱

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

답변

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 { 
    } 
} 
관련 문제