在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测试中异常情况的基本方法。通过使用这些关键字和技巧,你可以轻松地编写出健壮的测试用例,以确保你的代码在各种异常情况下都能正常工作。