gpt4 book ai didi

grails - shouldFailWithCause测试失败

转载 作者:行者123 更新时间:2023-12-02 14:24:49 25 4
gpt4 key购买 nike

在grails 1.3.5应用程序中,我必须测试引发异常的方法,但是此测试失败:

        shouldFailWithCause(MyException) {
vb.doStuff person
}

消息是:
junit.framework.AssertionFailedError:闭合应该失败,发生由MyException类型引起的异常,而是找到了以下异常:
MyException:出现异常消息。


它引发正确的异常,但测试失败。怎么了?

编辑:
public void doStuff(person) {
if (!canPersonDoStuff(person)) {
throw new MyException("Here comes the message of exception")
}
}

最佳答案

shouldFailWithCause查找异常的cause,而不是异常本身。如果将throw MyException添加为异常原因,则可以使断言起作用。

public void doStuff(person) {
if (!canPersonDoStuff(person)) {
throw new Exception(new MyException("The message of my exception"))
//or throw new Exception(cause: new MyException("message"))
}
}

我宁愿使用 doStuff()中现在使用的任何逻辑,但要使用 shouldFail{..}而不是 shouldFailWithCause{..}进行断言,因为前者会检查抛出的确切异常。
shouldFail(MyException) {
vb.doStuff person
}

关于grails - shouldFailWithCause测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19222598/

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