Mam wywołanie dao.create()
, które chcę kpić podczas testowania metody. Ale brakuje mi czegoś, ponieważ wciąż otrzymuję NPE. Co jest nie tak?Jak wyśmiać prywatną zmienną dao?
class MyService {
@Inject
private Dao dao;
public void myMethod() {
//..
dao.create(object);
//
}
}
Jak wyśmiać wywołanie dao.create()?
@RunWith(PowerMockRunner.class)
@PrepareForTest(DAO.class)
public void MyServiceTest {
@Test
public void testMyMethod() {
PowerMockito.mock(DAO.class);
MyService service = new MyService();
service.myMethod(); //NPE for dao.create()
}
}
Czy klasa "DAO" lub "Dao"? – fgb
Niektóre dobre rozwiązania zależą od używanej struktury wtrysku zależności. Dodaj odpowiedni tag (guice, spring, ...) –