J'utilise rapporteur pour angular js test dans mon application et j'ai environ 19 cas de test pour le moment, dont l'un échoue
describe('Login page', function() {
beforeEach(function() {
browser.ignoreSynchronization = true;
ptor = protractor.getInstance();
});
it('should contain navigation items', function(){
//test case code here
});
it('should login the user successfully', function(){
//test case code here
})
});
Actuellement, je lance tous les cas de test. Mais, comment puis-je exécuter un seul cas de test pour déboguer un problème, par exemple celui qui est décrit comme "La page de connexion doit connecter l'utilisateur avec succès"?
La version la plus récente (au moins) de Protractor prend en charge la façon habituelle de Jasmine de le faire: renommer une fonction describe()
en ddescribe()
, et seuls les tests à l'intérieur de celle-ci s'exécuteront. Ou renommez une fonction it()
en iit()
, et seul ce test s'exécutera.
Jasmine a ajouté fit
et fdescribe
en 2.1 pour exécuter des tests uniques ou décrire des blocs.
http://pivotallabs.com/new-key-features-jasmine-2-1/
Cette fonctionnalité est presque arrivée dans la version 2.0. Maintenant, suffisamment de cette fonctionnalité est présente pour prendre en charge l'ajustement et la description de l'exécution ciblée des spécifications et des suites.
à partir de 2.1 git lib/jasmine-core/jasmine.js
var jasmineInterface = {
describe: function(description, specDefinitions) {
return env.describe(description, specDefinitions);
},
xdescribe: function(description, specDefinitions) {
return env.xdescribe(description, specDefinitions);
},
fdescribe: function(description, specDefinitions) {
return env.fdescribe(description, specDefinitions);
},
it: function() {
return env.it.apply(env, arguments);
},
xit: function() {
return env.xit.apply(env, arguments);
},
fit: function() {
return env.fit.apply(env, arguments);
},
Vous devriez peut-être séparer les tests en différentes suites. Ensuite, vous pouvez simplement exécuter: protractor test/protractor-conf.js - exemple de suite