繁体   English   中英

Groovy 断言继续失败

[英]Groovy assert continue on failure

我在单元测试中使用 groovy 脚本。 我有以下代码片段,并且在我的单个测试脚本中使用了多个断言。

def a ='welcome'
def b ='test'
def c ='welcome'

assert a==b
assert a==c

第一个断言失败并停止执行。 但我想继续进一步的代码片段。

类似于 selenium 中的软断言我应该如何收集 groovy 中的所有故障异常。

在 Groovy 和 Java 中,AssertionErrors 是程序无法恢复的错误。 我建议设置你的单元测试来测试/断言每个测试的一件事。 这是单元测试的最佳实践,它可以更容易地确定测试失败的原因。

您的示例很明显哪个断言失败了。 考虑到作为您的构建测试,情况不一定如此。 每个测试使用一个断言,您可以通过测试名称识别原因。 如果您要使用断言以外的其他方式进行验证,让您的测试在失败时继续进行 - 如果不分析日志,哪个条件失败就不太明显了。

如果你想滥用“diff/debug-infos”的断言,你可以捕获AssertionError 例如:

def a = 42
def b = 666

try {
    assert a==b
}
catch (AssertionError e) {
    println e.message
}
print "the end"

// assert a==b
//        || |
//        || 666
//        |false
//        42
// the end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM