2
Im 필기 단위는 아래 코드를 테스트합니다. Im이 필드를 조롱하더라도 NPE를 얻습니다. 어떻게 해결할 수 있습니까? 이러한 필드는 @Inject 주석유닛 테스트 중에 @Inject 필드에 대해 NPE를 제거하는 방법은 무엇입니까?
@Component
interface A {
void run();
}
class B {
@Inject
A a;
void someMethod() {
a.run();
}}
class C{
@Inject
B b;
void anotherMethod() {
b.someMethod();
}
}
class CTest {
@Mock
B b;
// remains null when invoked in the actual class though its mocked instance is
// present here
@Mock
A a;
//// remains null when invoked in the actual class though its mocked instance
//// is present here
@InjectMocks
C c;
@Before
public void initialize() {
MockitoAnnotations.initMocks(this);
}
@Test
public void test() {
c.anotherMethod();
}
}
에 존재 그래서 필드가 @Inject Mockito를 사용하여 주입 실제 클래스의 조롱 값을 얻을 수있는 방법?
답변 주셔서 감사합니다.이 코드는 단지 예이며 실제 코드는 아닙니다. @RunWith (MockitoJUnitRunner.class) 또는 MockitoAnnotations.initMocks (this) 중 하나를 사용하도록 제안 됨 - http://stackoverflow.com/a/28969255/2340345를 참조하십시오. – user2340345