會有這篇文章是因為在定義 e2e 測試任務的時候,碰到執行任務上的問題。
心得:npm script task 已經足夠應付大部分的狀況囉!不過在比較複雜的狀況,例如:task 有先後順序或者是並行執行就必須多定義一些 task 來完成。
並行執行
假設有兩個任務 A 和 B 要並行執行的話
|
|
循序執行
要作 e2e 測試所以,先起 phantomjs 之後再起 protractor。
|
|
以上會發現當 protractor 跑完測試後,phantomjs 並沒有停止執行,所以必須在執行完 protractor 後要停止 phantomjs。作法大致上是紀錄 phantomjs pid 然後在 protractor 執行完後 kill phantomjs pid。
|
|