每天都會產生新的程式碼、使用者測試工具和框架。下面的列表列出了可以完成各種測試需求的程式碼工具。你應該調查研究一下,看這些工具是否適用於你的技術棧和技術需求。
01. Jasmine
Jasmine 是一個行為驅動的測試開發框架,用於對 JavaScript 程式碼進行測試。它不依賴其它任何 JavaScript 框架,也不需要 DOM。它的語法簡潔、明確,寫測試非常容易。
02. Mocha
Mocha 是一個功能豐富的 JavaScript 測試框架,既執行於 Node.js 環境中,也可以執行於瀏覽器環境中。Mocha 以序列方式執行測試,能做出靈活而準確的報告,也能將測試中未捕捉的異常對映到正確的測試用例。
03. Chai
Chai 是個支援 BDD / TDD 的庫,可用於 node 和瀏覽器,可配合任何 JavaScript 測試框架使用。
04. QUnit
QUnit 是個功能強大又易於使用的 JavaScript 單元測試框架。jQuery、jQuery UI 和 jQuey Mobile 專案都使用這個框架,它能測試普通的 JavaScript 程式碼。
05. Sinon
Sinon.JS 為 JavaScript 提供了獨立的 spies、stubs 和 mocks [譯者注:Spy、Stub 和 Mock 都是測試專用名詞,Stub 常被翻譯為樁,spies 是 Spy 的複數形式,是一種可以監視方法、呼叫和引數的技術]。它不依賴任何東西,可以配合任何單元測試框架工作。
08. WebdriverIO
WebdriverIO 允許使用者僅新增幾行程式碼就可以控制瀏覽器或移動應用程式,使測試程式碼更簡單、簡潔、易讀。整合的 TestRunner 同樣允許你以同步的方式呼叫非同步命令,這樣你不需要關心如何處理 Promise 以避免競態條件。此外,它取消了所有的繁瑣的設定工作,並且會為您管理的 Selenium 會話。
09. Nightwatch
Nightwatch.js 是一個易於使用的 Node.js,它是為基於瀏覽器的 app 和網站設計的終端到終端(E2E)的測試方法。它使用強大的 W3C WebDriver API ,用於在 DOM 元素上執行命令和斷言。
10. PhantomCSS
PhantomCSS 獲得 CasperJS 捕獲的螢幕截圖,並使用 Resemble.js 將其與基準圖進行對比,以測試 RGB 畫素差異。 PhantomCSS 然後生成影像差異對比,用於幫助您找到原因。
11. PhantomFlow
PhantomFlow 使用決策樹提供 UI 測試方案。針對 PhantomJS, CasperJS 和 PhantomCSS 的 NodeJS 包裝器—— PhantomFlow 能夠流暢地在程式碼中描述使用者流程,同時生成用於視覺化的結構化樹資料。
12. Percy.io
Percy 提供關於視覺變化的迭代及快速反饋,帶來了所謂的連續視覺整合。它是通過下面方式實現的:執行測試套件,獲取 DOM 快照並上傳到 Percy 服務,最終在瀏覽器中渲染之。