繁体   English   中英

如何将 Cucumber JUnit 步骤标记为失败但继续

[英]How to mark Cucumber JUnit step as failed but continue

我正在尝试在我的 Cucumber 硒项目中实现一种软断言。

基本上,我使用 JUnit Eclipse 插件将脚本作为 JUnit 测试运行,我想知道是否有任何方法可以在一个步骤上执行多个断言,如果任何断言失败,我想标记该步骤失败,但在不中断执行的情况下继续执行场景中的其他步骤/断言。

通过标记失败的步骤,我的意思是标记失败并添加到 JUnit 中的 FAILED 计数器,对于每个失败的断言,无论它发生在哪里。

我注意到,如果我使用

try { 
    AssertTrue(someCondition.isTrue()); 
} catch (AssertionError ae) { 
    log.info(some message); 
}

该步骤将在 JUnit 插件中标记为 PASSED,失败计数器保持为 0。

什么触发了计数器,如何在不抛出 AssertionError 的情况下手动标记 JUnit 故障?

或者,是否有一个 Cucumber 选项可以添加到 Runner 以便不停止对失败的测试? 我希望至少在黄瓜报告中包含预期和实际结果的失败。

你的意思是:我可以有多个断言,每个断言都会执行吗?

是的,您可以,但您必须为每个断言编写测试,例如使用示例表或 Cucumber 提供的后台设置。 通常,您希望您的场景只测试一件事情。

断言肯定会停止测试,如果您知道您的代码将失败,您可以使用 AsserFailed 并尝试它,否则您可以在不使用 JUnit 断言的情况下使用 if 语句并验证该步骤

这可能晚了,但是您可以使用 TestNG 或 AssertJ 库进行断言 已经实现了软断言

暂无
暂无

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

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