web-dev-qa-db-fra.com

Comment exécuter un seul cas de test spécifique lors de l'utilisation du rapporteur

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"?

27
Shyam Visamsetty

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.

26
JB Nizet

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);
},
36
Justin

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

3
Milena Paz