我有一种在某些情况下会引发异常的方法。我的单元测试:
class Bob extends GroovyTestCase {
void testClusterInvalidSomeParameter() {
Abc abcClass = new Abc(2, 0)
shouldFail {
abcClass.calculate()
}
}
}
If second parameter == 0
,然后方法引发异常:"Parameter cannot be null"
。我如何测试它恰好抛出此异常? 最佳答案
shouldFail()
和shouldFailWithCause()
返回异常的原因/消息。如果设置了消息/原因,则可以使用以下断言:
class Bob extends GroovyTestCase {
void testClusterInvalidSomeParameter() {
Abc abcClass = new Abc(2, 0)
String message = shouldFail {
abcClass.calculate()
}
assert message == "Parameter cannot be null"
}
}
更好的测试方法是还要
assert
引发的异常类型:String message = shouldFail( XyzException ) {
abcClass.calculate()
}