與此問題相關:How can I create conditional test cases using Protractor? - 我很好奇這些場景是否有合法(記錄)的答案,因爲我無法得到直接的答案。量角器/茉莉花條件測試案例
雖然鏈接問題中發佈的ignore
解決方案有效,但在風格上我並不喜歡它。乍一看,它看起來像你忽略/跳過規範。
此外,我問這個問題Gitter - 下面的代碼是不好的做法?
if(questionAnswer == "Yes") {
it('should display another question', function() {
// code
});
}
我對收到的Gitter從別人量角器隊的答案是相當含糊:
這可能會導致片狀測試...我不覺得有什麼,說,這是不不好的做法。如果它在爲你工作,那就用它來運行。
我對這個答案並不滿意,因爲他從「可能是片狀的」開始......這對我來說聽起來並不穩定。我看到的唯一方法是創建條件規範爲正常的內部,並創建一個任意斷言捕捉else
方案,即:
it('should display another question', function() {
if(questionAnswer == "Yes") {
expect(question2.isDisplayed()).toBe(true);
}
else {
expect(true).toBe(true);
}
});
但後來我自動添加額外的測試情況下,當它的只需要50%的時間。我知道這是一個小問題,但它真的困擾我。
上面的代碼是我目前面臨的場景 - 如果最後一個規範回答「是」,我需要爲下一個問題運行一個附加規範。如果不是,那就是我的測試結束了。是否真的沒有官方有條件地運行茉莉花/量角器中的規格?
'questionAnswer'在做什麼?它跟蹤代碼的狀態嗎?考試?環境? –
這只是一個反映其帳戶特權的布爾值。如果他們有能力,那麼我有另一個測試用例。如果不是,那麼我不會。 – Gunderson
因此,它是影響您正在測試的代碼的上下文/狀態?也就是說,對於*特權帳戶,代碼的行爲有所不同*? –