gpt4 book ai didi

groovy - 如何使用Hamcrest来测试异常?

转载 作者:行者123 更新时间:2023-12-02 11:47:11 26 4
gpt4 key购买 nike

我有以下代码:

def f(String s) {
assert !s?.contains('.')
}

什么 Hamcrest 匹配器可用于测试断言?我知道我可以使用 try/catch block ,但我更喜欢将测试的圈复杂度保持为 1。

最佳答案

编辑

如果您确实必须使用 Hamcrest,您可以编写如下内容:

assertThat( { f( 'hi.ho' ) }, thrown( MyException ) )

您将需要我只是为了好玩而编写的 ThrownMatcher. thrown(..) 匹配器。

参见Gist here .

但在 Groovy 中,Hamcrest 匹配器可以轻松地替换为更强大的结构。

例如,您可以使用 GroovyTestCase为此:

shouldFail( MyException, { /* code expected to throw MyException*/ } )

最后,如果您认真考虑使用 Spock 进行测试:

http://code.google.com/p/spock/wiki/SpockBasics

示例

when:
f 'something.something'

then:
thrown( TypeOfException )

关于groovy - 如何使用Hamcrest来测试异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com