12 款 JS 代碼測試必備工具(翻譯)
每天都會產(chǎn)生新的代碼、用戶測試工具和框架。下面的列表列出了可以完成各種測試需求的代碼工具。你應(yīng)該調(diào)查研究一下,看這些工具是否適用于你的技術(shù)棧和技術(shù)需求。
01. Jasmine
Jasmine 是一個行為驅(qū)動的測試開發(fā)框架,用于對 JavaScript 代碼進行測試。它不依賴其它任何 JavaScript 框架,也不需要 DOM。它的語法簡潔、明確,寫測試非常容易。
02. Mocha
Mocha 是一個功能豐富的 JavaScript 測試框架,既運行于 Node.js 環(huán)境中,也可以運行于瀏覽器環(huán)境中。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 的復(fù)數(shù)形式,是一種可以監(jiān)視方法、調(diào)用和參數(shù)的技術(shù)]。它不依賴任何東西,可以配合任何單元測試框架工作。
06. Karma
Karma 是針對連通瀏覽器的一個框架無關(guān)測試運行器。每一個測試結(jié)果對應(yīng)每個瀏覽器,它的測試和顯示都是通過命令行暴露給開發(fā)者的,這樣他們就可以看到瀏覽器測試的通過或失敗。
07. Selenium
Selenium 有一個簡單的目標:就是自動化瀏覽器。它主要用于自動化測試 web 應(yīng)用程序,但是只是很簡單地考慮到了基于網(wǎng)絡(luò)的管理任務(wù)。
08. WebdriverIO
WebdriverIO 允許用戶僅添加幾行代碼就可以控制瀏覽器或移動應(yīng)用程序,使測試代碼更簡單、簡潔、易讀。集成的 TestRunner 同樣允許你以同步的方式調(diào)用異步命令,這樣你不需要關(guān)心如何處理 Promise 以避免競態(tài)條件。此外,它取消了所有的繁瑣的設(shè)置工作,并且會為您管理的 Selenium 會話。
09. Nightwatch
Nightwatch.js 是一個易于使用的 Node.js,它是為基于瀏覽器的 app 和網(wǎng)站設(shè)計的終端到終端(E2E)的測試方法。它使用強大的 W3C WebDriver API ,用于在 DOM 元素上執(zhí)行命令和斷言。
10. PhantomCSS
PhantomCSS 獲得 CasperJS 捕獲的屏幕截圖,并使用 Resemble.js 將其與基準圖進行對比,以測試 RGB 像素差異。 PhantomCSS 然后生成圖像差異對比,用于幫助您找到原因。
11. PhantomFlow
PhantomFlow 使用決策樹提供 UI 測試方案。針對 PhantomJS, CasperJS 和 PhantomCSS 的 NodeJS 包裝器—— PhantomFlow 能夠流暢地在代碼中描述用戶流程,同時生成用于可視化的結(jié)構(gòu)化樹數(shù)據(jù)。
12. Percy.io
Percy 提供關(guān)于視覺變化的迭代及快速反饋,帶來了所謂的連續(xù)視覺集成。它是通過下面方式實現(xiàn)的:運行測試套件,獲取 DOM 快照并上傳到 Percy 服務(wù),最終在瀏覽器中渲染之。
英文原文:12 must-have code testing tools 譯文:https://www.oschina.net/translate/12-must-have-user-testing-tools
相關(guān)文章
JavaScript實現(xiàn)shuffle數(shù)組洗牌操作示例
這篇文章主要介紹了JavaScript實現(xiàn)shuffle數(shù)組洗牌操作,結(jié)合實例形式分析了javascript數(shù)組的定義、構(gòu)造、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01如何使用moment.js獲取本周、前n周、后n周開始結(jié)束日期及動態(tài)計算周數(shù)
使用了momentjs之后發(fā)現(xiàn)這個日期處理控件實在是太強大了,下面這篇文章主要給大家介紹了關(guān)于如何使用moment.js獲取本周、前n周、后n周開始結(jié)束日期及動態(tài)計算周數(shù)的相關(guān)資料,需要的朋友可以參考下2022-09-09js AppendChild與insertBefore用法詳細對比
本篇文章主要是對js中AppendChild與insertBefore的用法進行了詳細的對比。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12