javascript - usar - uso del transportador para medir angulos
¿Cómo detener el transportador para que no ejecute testcases adicionales en caso de falla? (4)
En el caso del marco de prueba de jasmine
, no eres el primero en preguntar sobre él.
Hay discusiones / problemas abiertos relevantes al salir después de una primera falla, --fail-fast
:
Para resumir, este es un tema abierto y algún día el jasmine
tendría la funcionalidad incorporada. Actualmente, usa un módulo de jasmine-bail-fast
terceros.
Aparte de eso, hay una práctica configuración de jazmín en realtimeFailure
. Si lo configura en true
, no fallará la ejecución de prueba completa, pero mostrará errores en tiempo real, inmediatamente después de que ocurra, posiblemente esto cubra su caso de uso. Establecerlo en jasmineNodeOpts
:
exports.config = {
seleniumAddress: ''http://127.0.0.1:4444/wd/hub'',
...
jasmineNodeOpts: {
realtimeFailure: true
}
}
¿Hay alguna manera de salir del banco de pruebas y dejar de ejecutar más casos de prueba si falla un caso de prueba en el transportador?
no necesita todos los complementos de terceros. Use native process.exit()
.
Ejemplo de código:
it("test", function()
{
...
if(isExit)
{
browser.driver.close().then(function()
{
process.exit(1);
});
}
});
lucro.
Aquí está mi solución para saltear pruebas en el primer error con Jasmine 2 y Protractor. Espero eso ayude.
exports.config = {
onPrepare: function () {
//skip tests after first fail
var specs = [];
var orgSpecFilter = jasmine.getEnv().specFilter;
jasmine.getEnv().specFilter = function (spec) {
specs.push(spec);
return orgSpecFilter(spec);
};
jasmine.getEnv().addReporter(new function () {
this.specDone = function (result) {
if (result.failedExpectations.length > 0) {
specs.forEach(function (spec) {
spec.disable()
});
}
};
});
}
};
jasmine-bail-fast
no funcionó en mi caso. No estoy seguro de si fue por algún conflicto con mis otros complementos de informes.
En caso de que alguien tenga el mismo problema. Puedes probar el transportador-rápido-falla
exports.config = {
plugins: [{
package: ''protractor-fail-fast''
}],
onPrepare: function() {
jasmine.getEnv().addReporter(failFast.init());
},
afterLaunch: function() {
failFast.clean();
}
}
Funcionó perfectamente bien para mí