Bob*_*Bob 3 groovy unit-testing exception
我有一个方法在某些情况下抛出异常.我的单元测试:
class Bob extends GroovyTestCase {
void testClusterInvalidSomeParameter() {
Abc abcClass = new Abc(2, 0)
shouldFail {
abcClass.calculate()
}
}
}
Run Code Online (Sandbox Code Playgroud)
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"
}
}
Run Code Online (Sandbox Code Playgroud)
更好的测试是assert抛出Exception的类型:
String message = shouldFail( XyzException ) {
abcClass.calculate()
}
Run Code Online (Sandbox Code Playgroud)