我在Cucumber中拥有我的特征文件,并且正在使用Given,When,Then(Gherkin)语法在其中编写我的方案,并在“步骤定义”文件中具有相应的步骤。 我有一个场景,我要检查是否存在特定的数据集(这是我的Given步骤的一部分),然后继续执行“ Then”,“ And”等的下一步 但是,如果不是这样,则应跳过其余步骤,并退出步骤定义文件,而不会使场景失败。 有人可以建议黄瓜是否支持此功能吗?如果可以,什么是最好的方法?
答案 0 :(得分:0)
很简单,将您的代码行放在try-catch块中,并确保catch块中没有断言。
答案 1 :(得分:0)
如果特定假设失败,则可以使用JUnits Assume
或TestNG的SkipException
将测试标记为已跳过。跳过测试不视为失败。
来自https://github.com/cucumber/cucumber-jvm/tree/master/junit
通过Assume JUnit提供:
一组有用的方法,用于陈述有关测试有意义的条件的假设。失败的假设并不意味着代码已损坏,但是测试没有提供有用的信息。默认的JUnit运行器将跳过带有失败假设的测试。自定义跑步者的行为可能有所不同。
黄瓜运行器支持Assume,并将已跳过的方案标记为已跳过。
来自https://github.com/cucumber/cucumber-jvm/tree/master/testng
黄瓜对SkipException的支持有限。
- 引发SkipException会导致Cucumber和TestNG将测试标记为已跳过。
- 抛出SkipException的子类会导致Cucumber将测试标记为失败,将TestNG标记为跳过。