在Spock测试框架中,处理异常情况非常简单
thrown
关键字:在Spock中,可以使用thrown
关键字来检查方法是否抛出了特定类型的异常。例如:
def "divide by zero exception"() {
when:
def result = 10 / 0
then:
thrown(ArithmeticException)
}
thrown
关键字捕获异常实例:除了检查异常类型外,还可以使用thrown
关键字捕获异常实例,并对其进行进一步的检查。例如:
def "custom exception with message"() {
when:
throw new CustomException("Something went wrong")
then:
CustomException ex = thrown()
ex.message == "Something went wrong"
}
noExceptionThrown
关键字:如果你想确保某个方法不会抛出任何异常,可以使用noExceptionThrown
关键字。例如:
def "no exception should be thrown"() {
when:
def result = 10 / 2
then:
noExceptionThrown()
result == 5
}
notThrown
关键字:如果你想确保某个方法不会抛出特定类型的异常,可以使用notThrown
关键字。例如:
def "should not throw NullPointerException"() {
when:
def result = "Hello, world!".length()
then:
notThrown(NullPointerException)
result == 13
}
这些是处理Spock测试中异常情况的基本方法。通过使用这些关键字和技巧,你可以轻松地编写出健壮的测试用例,以确保你的代码在各种异常情况下都能正常工作。