后台操作失败时将场景测试标记为已跳过
Marking scenario test as skipped when background operation fails
我想将场景标记为已跳过,以防后台出现任何故障。我在功能文件中有以下结构:
Background:
* call read('classpath:path/to/reusable.feature@ParticularScenario')
...
Scenario: That one I want to skip if background call statement fails
Given ...
When ...
Then ...
我尝试在调用语句后在后台使用 * if () karate.abort()
表达式,但它什么也没做。
我不推荐这样做,强烈建议您重新构建测试。
但这里有一个可能的解决方案。我再说一遍,我一点都不喜欢这个
Background:
* def error = false
* eval
"""
try {
var result = karate.call('reusable.feature');
karate.set(result);
} catch (e) {
karate.log('background failed:', e);
karate.set('error', true);
}
"""
Scenario:
* if (error) karate.abort()
但除此之外,抱歉,空手道不是为此而设计的。
我想将场景标记为已跳过,以防后台出现任何故障。我在功能文件中有以下结构:
Background:
* call read('classpath:path/to/reusable.feature@ParticularScenario')
...
Scenario: That one I want to skip if background call statement fails
Given ...
When ...
Then ...
我尝试在调用语句后在后台使用 * if () karate.abort()
表达式,但它什么也没做。
我不推荐这样做,强烈建议您重新构建测试。
但这里有一个可能的解决方案。我再说一遍,我一点都不喜欢这个
Background:
* def error = false
* eval
"""
try {
var result = karate.call('reusable.feature');
karate.set(result);
} catch (e) {
karate.log('background failed:', e);
karate.set('error', true);
}
"""
Scenario:
* if (error) karate.abort()
但除此之外,抱歉,空手道不是为此而设计的。