我是JUnit的新手,並試圖在我的遺留代碼庫中實現它。
我測試hibernateEntity.save()
時應該聲明什麼?
JUnit:在休眠時保留什麼保存
回答
您將在方法內調用hibernateEntity.save()。 像這樣:
public boolean save(..){
boolean status = false;
try{
status = hibernateEntity.save()?
}catch(Exception e){
//handle or throw
}
return status;
}
所以要測試保存方法;你會對它的返回值做出斷言。所以爲了成功保存它的返回值應該是真實的。
所以基本上;我們用Junit測試行爲。您需要測試休眠操作是否成功。
如果hibernateEntity正在返回任何我可以基於返回值聲明的東西。正如我前面提到的,我正在編寫遺留代碼的測試用例。無法更改每個實體的保存方法。 – 2013-04-04 17:31:38
是;你也可以做到這一點。我舉了一個例子來說明我的觀點。想法是你應該返回一個值。 – 2013-04-04 17:34:26
解決方案是
public void testEntitySave() {
hibernateEntity.save()
Entity testEntity = hibernateEntity.loadEntityByPK(hibernateEntity.pk);
Assert.assertNotNull(testEntity);
}
我同意這個總體思路;請記住,這是一個非常基本的測試級別。更好的測試覆蓋範圍將包括創建/編輯實體,然後包括Assert.assertEquals(expectedEntity,actualEntity)。 – Rafa 2013-04-05 01:23:02
你的意思是你想測試[Session.save()](http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate /Session.html#save(java.lang.Object))? – FGreg 2013-04-04 17:52:04
你可以發佈save()方法嗎? – 2013-04-04 20:11:13