選擇 JavaScript 測試框架的標準
在選擇 JavaScript 測試框架時,將有許多選項和不同的因素需要考慮。以下標準將對你的決定產(chǎn)生最大影響:
E2E 或 Unit —— 端到端框架專門用于在網(wǎng)站上運行整個人機交互。單元測試框架將為你提供不同的功能,因為它用于測試單個功能。
斷言——每個端到端測試框架都需要一個斷言庫。 斷言確保我們的測試返回預(yù)期的結(jié)果。 在選擇框架時,你還需要有一個選擇要使用的斷言庫以及為什么要使用它的理由。
BDD/TDD 友好—— 有些框架不像其他框架那樣易于與 BDD Girken 風格語言一起使用,如果你的組織遵循某種風格,你將希望遠離這些。選擇 BDD 或 TDD,然后選擇一個對你的團隊有意義并適合你的組織流程的框架。
異步測試——在測試 JavaScript 時,重要的是要考慮異步測試和 promise。 一些框架開箱即用比其他框架做得更好,這將需要更長的時間來獲得承諾。
視覺測試——有些框架比其他框架更適合視覺測試和捕獲屏幕截圖,有些框架實際上是開箱即用的。這將使你能夠查看回歸套件中的視覺差異。
CI 集成 —— 如果你的團隊遵循持續(xù)集成和交付實踐,那么你可能還需要一個與 Jenkins、Team City 和 Bamboo 集成的框架也就不足為奇了。 大多數(shù) CI 系統(tǒng)在標準運行器上運行,因此它們與許多較大的 JavaScript 框架攜手合作,以確保它們盡可能地協(xié)同工作,但你在選擇時仍然需要仔細檢查。
應(yīng)用語言——應(yīng)用語言標準最近隨著 JavaScript 的動態(tài)特性而上升。 以前,測試代碼和生產(chǎn)代碼不是同一種語言是可以的。 現(xiàn)在,根據(jù)應(yīng)用程序語言在框架中的發(fā)展方式,我們希望選擇一個最適合編寫我們的應(yīng)用程序的實際語言的框架。
專長 —— 你可能正在尋找具有特定專長的框架。是否易于設(shè)置并開箱即用?是否有干凈簡單的語法?它是否與 Angular 測試或 Selenium 綁定兼容?它有很好的定制嗎?它是否靈活,是否適合其他斷言庫、代碼覆蓋工具和框架?這些都是你需要與團隊一起評估的考慮因素。
云支持——注意哪些框架與云提供商合作,因為不是每個框架都開箱即用。在云中運行測試將允許你提高測試覆蓋率和速度,同時消除麻煩、成本和維護,因此兼容性應(yīng)該是你考慮的一部分。
社區(qū)的規(guī)模 —— 社區(qū)的規(guī)模很重要,因為你可以在這里尋找答案、找到教程和文檔,但這也取決于個人喜好。例如,一個框架可能很好,因為它更新了,所以有更多人在談?wù)撍?,但有些人可能更喜歡已經(jīng)擁有良好社區(qū)基礎(chǔ)和文檔的更成熟的框架。