web-dev-qa-db-ja.com

分度器を使用するときに単一の特定のテストケースを実行する方法

私はアプリでangular jsテストのために分度器を使用していますが、現時点で約19のテストケースがあり、そのうちの1つが失敗しています

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
})
});

現在、すべてのテストケースを実行しています。しかし、「ログインページでユーザーに正常にログインする必要がある」などの問題をデバッグするために、1つのテストケースだけを実行するにはどうすればよいですか?

27

(少なくとも)Protractorの最新バージョンは、それを行う通常のJasmineの方法をサポートしています。describe()関数の名前をddescribe()に変更すると、その中のテストのみが実行されます。または、it()関数の名前をiit()に変更すると、このテストのみが実行されます。

26
JB Nizet

Jasmineは、単一テストの実行またはブロックの記述のために、2.1でfitおよびfdescribeを追加しました。

http://pivotallabs.com/new-key-features-jasmine-2-1/

この機能は、2.0リリースでほぼ完成しました。焦点を絞った仕様とスイートの実行のために、適切な機能とfdescribeをサポートするのに十分なこの機能が存在するようになりました。

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

おそらく、テストを異なるスイートに分ける必要があります。その後、次のコマンドを実行するだけです:protractor test/protractor-conf.js --suite example

3
Milena Paz