[英]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.