簡體   English   中英

如果 beforeAll 失敗,如何跳過所有測試? 使用茉莉花和量角器

[英]How to skip all tests if beforeAll failed? Using Jasmine and Protractor

如果beforeAll()失敗,我需要跳過所有it() ,但我發現的所有解決方案都不起作用 - beforeAll( ) 拋出錯誤,但所有it()仍然執行並被標記為'failed'

我已經嘗試過: stopSpecOnExpectationFailure: true,和 Jasmine pending()選項,但這些仍然不起作用。

該解決方案是否符合您的需求?

https://www.npmjs.com/package/protractor-fail-fast

要么

https://github.com/pmowrer/jasmine-fail-fast

我知道 suggest npm-packages 不是一個真正的“答案”,但我每隔幾個月就會看到這類問題,而且通常最終會使用一些現成且有效的解決方案(如上)

更新:如果您能提出自己的解決方案並分享,我將不勝感激

更新 2:我還將分享一種古怪的方法。

您將需要 Protractor 6(因為它使用最新的 jasmine 版本)

假設您的測試取決於某些元素的存在。 您可以在beforeAll中執行此操作:

let elementIsPresent = await myElement.isDisplayed()
it('should test if element is present', function() {
   if(elementIsPresent) {
      // do your thing
   } else {
    pending('skipping test')
  }
});

您需要注意以下幾點:

  • 版本 6 以下的 Protractor 會將此測試標記為“失敗”(而不是跳過)

  • 我不能在你的it塊中使用箭頭函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM