Я хочу, чтобы огурец не запускал неудачный тест до конца, потому что это тратит время на нашу непрерывную интеграцию, поскольку нам нужна быстрая обратная связь.
Я использую реализацию javascript огурца, cucumberJs с транспортиром.
Вот что у меня есть, но не работает:
hooks.js
this.registerHandler('AfterScenario', function (scenario, callback) {
console.log('\n After each scenario...');
if (scenario.isFailed() ===true) {
console.log('\n Scenario failed \n\n\n\n\n\n\n...');
callback.fail(new Error("\n\n\n\nThis scenario definitely failed!!"));
}
});
Я включил этот hook.js в свой protractor.conf.js следующим образом:
cucumberOpts: {
require: [
conf.paths.e2e + '/utilities/hooks.js',
],
}
Я знаю, что ловушка запускается из сообщения об ошибке ниже; однако не могу понять, почему и как исправить ошибку:
e #01-1] Specs failed ? : C:\someFeature.feature
[chrome #01-1] Scenario failed! Creating snapshot at: C:\someFeature.png
[chrome #01-1]
[chrome #01-1]
[chrome #01-1] After each scenario...
[chrome #01-1] TypeError: e2e\utilities\hooks.js:34 scenario.isFailed is not a function
[chrome #01-1] at C:\Hooks.js:36:18
[chrome #01-1] at nextTickCallbackWith0Args (node.js:420:9)
[chrome #01-1] at process._tickCallback (node.js:349:13)