[英]Expected Exception JUNIT
我想在數據庫中添加一個對象,而不是檢查該對象是否已經存在,因此我們不能將其添加兩次。 我使用JUNIT進行了測試:
@org.junit.Test (expected = ExistingProduct.class)
public void AddExisting()
{
Register aRegister = new Register();
Product aProduct = new Product();
aProduct.setPIN("079400027252");
aRegister.AddProduct(aProduct);
Product sameProduct = new Product();
sameProduct.setPIN("079400027252");
aRegister.AddProduct(sameProduct); //this throw the exception
aRegister.deleteProduct("079400027252"); //CAN'T REACH HERE
}
問題是我無法刪除產品,因為之前調用的指令將引發異常,從而結束測試。
好吧,我有點弄清楚了...我調用@Before方法witch從BD刪除所有文件並放回默認值
也許像這樣解決這個問題。 更多內容請看Sergey Berezovskiy的https://stackoverflow.com/a/20494165/4296891
public void AddExisting()
{
Register aRegister = new Register();
Product aProduct = new Product();
aProduct.setPIN("079400027252");
aRegister.AddProduct(aProduct);
Product sameProduct = new Product();
sameProduct.setPIN("079400027252");
try
{
aRegister.AddProduct(sameProduct); //this throw the exception
assertEquals("Can't add it twice exception has been excepted." ,true, false);
}
catch(ExistingProduct exception)
{
// exception
}
aRegister.deleteProduct("079400027252"); //CAN'T REACH HERE
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.