2016-05-19 18 views
3

以前のexpect文に依存して特定のジャスミン期待値文を作成する方法を理解しようとしていましたが、Jasmine 2.3.0以前では方法がありませんでした。 (Stop jasmine test after first expect failsを参照してください)しかし、Jasmine 2.3.0には、stopSpecOnExpectationFailureオプションが追加されました。このオプションをtrueに設定すると、最初の失敗時にテストが停止します。この見通しによって励起さ最初の失敗時の分度器、ジャスミン、停止テスト

は、私はオプション含めるように私のconf.jsを変更:

/* 
* conf.js 
*/ 
exports.config = { 
    framework: 'jasmine', 
    specs: ['search-spec.js'], 
    useAllAngular2AppRoots: true, 
    jasmineNodeOpts: { 
     stopSpecOnExpectationFailure: true 
    } 
}; 

をしかし、これは私のために動作しませんでした。私のテストで

は、私が持っている:上記のコードで

/** 
* Test option from select element is selected 
*/ 
function verifyOptionSelected(option) { 
    var myEl = $('select[value="' + option + '"]'; 

    expect(myEl.isPresent()).toBe(true, 'Option, ' + option + ', is not a value in the dropdown list. (It might be the text.)'); 

    expect(myEl.isSelected()).toBe(true, 'Option, ' + option + ', is not selected as expected.'); 
} 

を、両方の文が試行される期待が、最初に障害が発生した場合、私が試みされる第2の必要はありません。

ジャスミンでこれを理解した人はいますか?

(はい、私は約jasmine-bail-fastprotractor-fail-fastを知っている。しかし、私の意見では、組み込みの機能を使用すると、よりよい解決策である。)

答えて

2

私はprotractorjasmine-npm(ジャスミンランナーに見えるものからprotractor)のソースコードを使用している場合、構成にstopSpecOnExpectationFailureまたはstopOnFailureジャスミンノードオプションを追加するのと同じくらい簡単です。新しいstopSpecOnExpectationFailureジャスミンノードオプションをサポートするには、protractorに変更を加えなければなりません。 Protractor issue trackerに問題/機能要求を作成してください。


私はまた、throwOnExpectationFailure機能を呼び出そうとしましたonPrepare()stopSpecOnExpectationFailure値スローjasmine.getEnv()を設定するが、それのどれも働いたしました。おそらく、私は何かが欠けていると設定を有効にする方法があります。

+0

ありがとうございました! https://github.com/angular/protractor/issues/3234 – Machtyn

関連する問題