Grails Services / Transactions / RuntimeException / Testing

时间:2011-01-11 07:47:52

标签: grails transactions rollback runtimeexception

我正在测试事务处理设置为true的服务中的代码 到客户提供的Web服务,其主要部分看起来像

class BarcodeService { 
..  
/// some stuff  ...  

try{
      cancelBarCodeResponse = cancelBarCode(cancelBarcodeRequest)
} catch(myCommsException e) {
  throw new RuntimeException(e)
}
... 

myCommsException扩展了Exception ..

我有一个看起来像

的测试
// As no connection from my machine, it should fail ..

shouldFailWithCause(RuntimeException){
  barcodeServices.cancelBarcodeDetails()
}

测试失败导致它捕获myCommsException而不是 RuntimeException我以为我把它转换成..任何人都想指出什么 我做错了?事实上,它不是RuntimeException意味着任何 在我的try / catch实际写出之前完成的事务相关信息 扔掉了?

谢谢

1 个答案:

答案 0 :(得分:0)

从我看来,它看起来不错。问题可能出在///的一些东西和代码的......部分。使用调试器确切地找出引发异常的位置。