仅在当前功能出现故障时调用特定功能文件

Call a specific feature file only when there is a failure in a the current feature

我有一个用例,如果当前 运行 的功能文件中有故障,那么在所有场景结束时,它应该触发另一个功能。类似于 AfterFeature 钩子

* configure afterFeature = function(){ karate.call('after-feature.feature'); }

但这里唯一的区别是,它应该只在功能出现故障情况时触发不会所有场景都是成功的.

有什么方法可以让我在空手道中处理这个问题吗?我不能把它放在 afterFeature 中的唯一原因是因为该功能执行数据库调用以进行清理并且需要相当长的时间,这就是为什么我只想在出现故障时触发此功能文件

您可以使用 karate.scenario,它有一个 failed 属性。

对于那些正在寻找这方面文档的人来说,没有太多:https://github.com/karatelabs/karate/wiki/1.0-upgrade-guide#karateinfo-deprecated

您可以尝试以下简单功能:

Feature:

Background:
* configure afterFeature = function(){ if (karate.scenario.failed) karate.log('*** failed') }

Scenario:
* assert 1 == 2

也就是说,这是我对“clean-up”的建议,不要“事后”这样做: