Я не рекомендую этого и настоятельно рекомендую вам реструктурировать свои тесты.
Но вот возможное решение. Я повторяю, мне это совсем не нравится.
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()
Но в остальном каратэ не предназначено для этого, извините.