我試圖嘲笑與JMockit一個DAO:嘲笑接口爲空
public interface MyDao {
Details getDetailsById(int id);
}
利用這種測試類:
public class TestClass {
@Test
public void testStuff(final MyDao dao) throws Exception
{
new Expectations()
{
{
// when we try to get the message details, return our sample
// details
dao.getDetailsById((Integer) any); ***THROWS AN NPE
result = sampleDetails;
}
};
ClassUsingDao daoUser = new ClassUsingDao(dao);
// calls dao.getDetailsById()
daoUser.doStuff();
}
當DAO對象是在預期塊使用的,NPE是拋出。我試着將dao的聲明移動到用@Mocked註釋的成員變量,但同樣的事情發生。我也嘗試過使用MyDao的具體實現,並且發生同樣的事情。
你用春天嗎? – iddqd
不,這個類目前沒有使用Spring,但將來可能會用於將Dao注入到ClassUsingDao中。 – Brian