[英]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.