Когда я запускаю набор тестов jasmine из командной строки, мне нужен какой-то вариант быстрого отказа, чтобы он останавливался при первой ошибке утверждения.
Существует ли что-то подобное сегодня?
Когда я запускаю набор тестов jasmine из командной строки, мне нужен какой-то вариант быстрого отказа, чтобы он останавливался при первой ошибке утверждения.
Существует ли что-то подобное сегодня?
Я смог исправлять жасмин при быстрых сбоях.
https://gist.github.com/btakita/4718081
Просто собрал jasmine-bail-fast, чтобы получить такое поведение.
npm install jasmine-bail-fast
Затем перед вашей первой спецификацией:
require('jasmine-bail-fast');
jasmine.getEnv().bailFast();
Надеясь получить его объединить с ядром jasmine, а затем добавить в качестве флага к jasmine-node.
Насколько я знаю, ответ "Нет". Мы в какой-то степени обходим это, разбивая тесты на отдельные файлы и запуская их один за другим, поэтому он останавливается, когда сталкивается с файлом с неудачным тестом.
Можно сделать вручную/искусственно через кастомный репортер. Кажется, они работают над этой функцией, но проблема все еще открыта. Сейчас это то, что я делаю в jasmine-node:
function installExitOnFail(runner)
{
var SpecReporter = require('jasmine-spec-reporter')
var exitOnFailReporter = new SpecReporter({displayStacktrace: true});
var specDone = exitOnFailReporter.specDone
exitOnFailReporter.specDone = function(result)
{
if(result.status === 'failed')
{
console.log(outpcolors.red('\nFailed test: ' + result.fullName +
'\nReason: '+result.failedExpectations[0].message) +
'\n' + result.failedExpectations[0].stackut);
process.exit(1);
}
else
{
specDone.apply(exitOnFailReporter, arguments)
}
};
runner.addReporter(exitOnFailReporter);
}
var jasmineRunner = new require('jasmine')();
installExitOnFail(jasmineRunner);
jasmine.DEFAULT_TIMEOUT_INTERVAL = 99999999;
jasmineRunner.specFiles = [your specs files....];
jasmineRunner.execute();