[英]BDD testing with too many background jobs?
我在我的項目中使用BDD(Behat)進行功能測試。 現在,在測試具有太多后台作業的功能時,我遇到了問題。 例:
Scenario: Import issue at the first time
Given I have a issue package "1602.zip"
When I upload issue "1602.zip"
Then I have to wait until it is finished
And I can see list of articles are imported
And status of issue is "1"
“ 然后我必須等到它完成 ”包含:
“ 我可以看到導入的文章列表 ”是我將API調用到服務器以獲取該問題的文章列表。
正如您所看到的,因為在導入期間,我們有太多后台作業(使用Resque),因此我必須等到完成后才檢查問題狀態:
while ($status != 1) {
$status = getStatusOfIssue(123);
if (1 === $status) {
break;
}
}
問題是我不知道要等多久,因為它取決於問題包的大小,更大的大小等待的時間越長。 所以在這種情況下,我該怎么辦?
作為一般慣例,您需要使用條件等待來檢查您知道的事情(等待幾秒鍾)。
條件可能是:
- 請求的狀態
- 元素顯示在頁面中
- 不顯示頁面/元素
提示:你應該避免使用
while
循環並使用do-while
循環而不是你需要的2個條件,在你的情況下檢查狀態,如果第一個從未像計數一樣完成,那么將會突破循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.