@Autowired라고 표시된 여러 필드가있는 클래스에 대한 Unit 테스트를 작성하려고합니다. Spring이이 필드에 대한 구체적인 구현을 자동으로 해결한다는 사실을 감안할 때, EasyMock을 통해 생성 된 Mock 객체를 테스트 실행 중 종속성으로 연결하는 방법을 찾는 데 어려움을 겪고있다. 클래스에서 @Autowired를 사용한다는 것은 해당 클래스에 setter가 없다는 것을 의미합니다. 클래스에 추가 setter를 만들지 않고 mock 객체를 연결하는 방법이 있습니까?Junit과 EasyMock을 사용하여 자동 표기법을 사용하여 클래스 테스트를합니까?
public class MyTestClassForSomeClassUnderTest{
private SomeType someType;
private SomeOtherType someOtherType;
@Before
public void testSetUp(){
SomeClassUnderTest someClassToTest = new SomeClassUnderTest();
someType = EasyMock.createMock(SomeType.class);
someOtherType = EasyMock.createMock(SomeOtherType.class);
//How to set dependencies????
}
@Test
public void TestSomeMethodIWouldLikeToTest(){
//??????
}
}
는을 얻을 좋을 것이다 : 나는 벽에 충돌하기 전에
다음public class SomeClassUnderTest implements SomeOtherClass{
@Autowired
private SomeType someType;
@Autowired
private SomeOtherType someOtherType;
@Override
public SomeReturnType someMethodIWouldLikeToTest(){
//Uses someType and someOtherType and returns SomeReturnType
}
}
가 내 테스트 클래스를 공예하고 어떻게 : 여기
내가 달성하기 위해 노력하고 있습니다 무엇의 예 올바른 방향으로 밀기.감사
감사합니다. –
http://stackoverflow.com/questions/16426323/injecting-into-autowired-variable-during-testing – Dan
EasyMock은 모의 주입을 위해 Mockito와 유사한 3.2 버전의 주석을 지원합니다. 내 대답을 보라. – krm