아래 클래스에 대한 단위 테스트를 실행할 때 주석에 의해 NullPointerException이 표시됩니다. 나는 여기서 간단한 것을 놓치고 있다는 느낌을 가지고있다. 나는 Mockito 1.9.5를 사용하고 있습니다. 조롱 된 방법 중 어느 것도 최종 사항이 아닙니다.조롱 된 클래스의 메소드를 호출 할 때 NullPointerException이 발생했습니다.
MockitoAnnotations.initMocks(this);
위는 @Mock 주석이 작동하는 것이 필요한 전화 :
public class UserBOTest {
@Mock private IUserDAO userDao;
@InjectMocks private IUserBO userBo = new UserBO();
@Test
public void testRegister() throws DBException {
when(userDao.doesEmailExist(any(String.class))).thenReturn(false); //NULLPOINTEREXCEPTION HERE
when(userDao.saveOrUpdate(Matchers.<User>any())).thenReturn(true);
Assert.assertEquals(userBo.registerUser("user", "pwd", "email", ""), Constants.General.OK);
}
}
스택 추적 : 다음 없기 때문에
java.lang.NullPointerException
at com.dbcreator.services.bo.UserBOTest.testRegister(UserBOTest.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
예, 정확히 내가 누락 된 내용입니다. @RunWith (MockitoJUnitRunner.class)를 포함하는 것을 잊었습니다. 고맙습니다. – Zyga