JasmineJS - Bloco de Pular
Jasmine também permite que os desenvolvedores ignorem um ou mais casos de teste. Essas técnicas podem ser aplicadas noSpec level ou o Suite level. Dependendo do nível de aplicação, este bloco pode ser chamado deSkipping Spec e Skipping Suite respectivamente.
No exemplo a seguir, aprenderemos como pular uma Spec ou Suite usando “x” personagem.
Pular especificações
Vamos modificar o exemplo anterior usando “x” um pouco antes it declaração.
describe('This custom matcher example ', function() {
beforeEach(function() {
// We should add custom matched in beforeEach() function.
jasmine.addMatchers({
validateAge: function() {
return {
compare: function(actual,expected) {
var result = {};
result.pass = (actual > = 13 && actual < = 19);
result.message = 'sorry u are not a teen ';
return result;
}
};
}
});
});
it('Lets see whether u are teen or not', function() {
var myAge = 14;
expect(myAge).validateAge();
});
xit('Lets see whether u are teen or not ', function() {
//Skipping this Spec
var yourAge = 18;
});
});
Se executarmos este código JavaScript, receberemos a seguinte saída como resultado no navegador. O próprio Jasmine notificará o usuário de que oit bloco é disabled usando temporariamente “xit”.
Suíte Skipping
Da mesma forma, podemos desativar o bloco de descrição para implementar a técnica de Skipping Suite. No exemplo a seguir, aprenderemos sobre o processo de pular bloco de suíte.
xdescribe('This custom matcher example ', function() {
//Skipping the entire describe block
beforeEach(function() {
// We should add custom matched in beforeEach() function.
jasmine.addMatchers({
validateAge: function() {
return {
compare: function(actual,expected) {
var result = {};
result.pass = (actual >=13 && actual<=19);
result.message ='sorry u are not a teen ';
return result;
}
};
}
});
});
it('Lets see whether u are teen or not', function() {
var myAge = 14;
expect(myAge).validateAge();
});
it('Lets see whether u are teen or not ', function() {
var yourAge = 18;
expect(yourAge).validateAge();
});
});
O código acima irá gerar a seguinte captura de tela como saída.
Como podemos ver na barra de mensagens, ela mostra dois blocos de especificações em status pendente, o que significa que esses dois blocos de especificações estão desabilitados usando “x”personagem. No próximo capítulo, discutiremos diferentes tipos de cenários de teste Jasmine.