自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10個可靠的JavaScript測試工具

譯文
開發(fā) 前端 測試
從簡單的測試運行工具到完整的測試框架,這些成熟的工具可確保你的JavaScript沒有錯誤。

[[274152]]

【51CTO.com快譯】測試JavaScript代碼的需求直截了當。如何防止錯誤,并確保應用程序在瀏覽器中或Node.js上順利運行?幸好,開發(fā)人員在JavaScript測試方面有很多選擇。

JavaScript生態(tài)系統(tǒng)擁有用于單元測試、集成測試和功能測試的測試運行工具和框架,并涵蓋Node.js和瀏覽器以及Angular和React等框架。下面是JavaScript開發(fā)人員可以幫助測試應用程序的其中10個工具。

AVA

AVA是Node.js測試運行工具,提供簡潔的API、詳細的錯誤輸出并支持新的語言功能和進程隔離。AVA適合測試Node.js模塊和服務器應用程序,但可能不適合測試UI應用程序。AVA提供了將測試標記為“待辦事項”任務的功能。每個測試文件運行都是單獨的過程。其他優(yōu)點包括AVA的簡約和速度、簡單的測試語法以及同時運行多個測試的功能。AVA還支持異步函數和可觀察對象(observable)——可觀察對象是一種類型,可用于對DOM事件等基于推送的數據源進行建模。

AVA安裝:https://github.com/avajs/ava

Cucumber.js

用JavaScript實現的Cucumber測試工具:Cucumber.js運行于受維護的Node.js版本上和現代Web瀏覽器中。Cucumber項目提到的優(yōu)點包括:團隊溝通和運行用“普通”語言編寫的自動化測試的功能,這意味著團隊中任何人都可以閱讀它們。因此,可以改善溝通、協作和信任。Cucumber.js包含一個可執(zhí)行文件來運行測試套件,因此全局安裝時不起作用。 (Cucumber在支持文件中必不可少,全局安裝的模塊并非必不可少。)

Cucumber.js安裝:https://github.com/cucumber/cucumber-js

Enzyme

Enzyme是面向React JavaScript UI庫的測試實用工具。它旨在使React組件的輸出測試起來更容易。開發(fā)人員可以根據輸出操作、遍歷和模擬運行時環(huán)境。Enzyme API模仿jQuery API來實現DOM操作和遍歷。Enzyme對于測試運行工具或斷言庫并非固執(zhí)己見。如果開發(fā)人員想使用Enzyme以及自定義斷言和便利功能來測試React組件,可以考慮使用chai-enzyme和Mocha/Chai組合、jasmine-enzyme和Jasmine組合或jest-enzyme和Jest組合。Enzyme還可用于測試React Native組件。

Enzyme安裝:https://airbnb.io/enzyme/

Karma

Karma是JavaScript的測試運行工具,可以在多個瀏覽器中執(zhí)行代碼。支持各大瀏覽器,包括移動瀏覽器。該項目背后的開發(fā)人員稱,在Karma提供的環(huán)境中,開發(fā)人員不必設置大量配置,但可以編寫代碼并從測試中獲得即時反饋。Karma專為低級(單元)測試而設計。 Karma不是測試框架或斷言庫,它啟動HTTP服務器,并使用開發(fā)人員青睞的測試框架生成測試運行工具文件。它提供了面向Jasmine、Mocha和QUnit等框架的插件。

Karma安裝:https://www.npmjs.com/package/karma

Jasmine

Jasmine號稱是用于測試JavaScript的“行為驅動”框架。它不依賴其他JavaScript框架,也不需要DOM。支持者提到其語法有助于輕松編寫測試。Jasmine由Pivotal Labs維護,適用于測試網站、Node.js項目以及JavaScript可以運行的任何其他環(huán)境。Jasmine旨在為各種不同的使用場景和瀏覽器帶來易于測試的優(yōu)點,與JavaScript框架無關,這讓開發(fā)人員能夠測試來自React、Angular或其他任何JavaScript庫的代碼。Jasmine力求最小依賴性,同時保持小巧、易于維護。

Jasmine安裝:https://github.com/jasmine/jasmine

Jest

Jest號稱是一款全面的JavaScript測試解決方案,對于大多數JavaScript項目而言,開箱即用、無需配置。測試有獨特的全局狀態(tài),可以并行運行。之前失敗的測試先運行,運行根據測試文件的長度重新加以組織。與流行的JavaScript技術兼容,包括Angular、Babel、Node.js、React和Vue??梢赃\行測試以跟蹤龐大對象,快照與測試或嵌入式內聯放在一起。在測試文件中,Jest將方法和對象放入到全局環(huán)境中,無需導入它們。

Jest安裝:https://github.com/facebook/jest

Luna

Luna是一個自成一體的JavaScript單元測試框架,無需配置。產品文檔顯示,開發(fā)人員在幾分鐘內就可以讓第一批單元測試運行起來。生成代碼覆蓋報告,不用安裝其他任何模塊。測試必須編寫成ES6模塊,默認情況下在瀏覽器中運行測試。支持并發(fā),測試組并行運行。Luna的部分靈感來自面向谷歌Go語言的內置測試。Luna不支持轉譯(transpiling),因此無法與CoffeeScript或TypeScript兼容。它還缺少對舊版瀏覽器的支持。

Luna安裝:https://github.com/ccampbell/luna

Mocha

Mocha是一個功能豐富的測試框架,在Node.js和瀏覽器中運行,承諾使異步代碼測試起來“簡單又有趣”。測試串行運行,支持者稱這便于準確而靈活的報告,同時將未捕獲的異常與準確的測試用例對應起來。至于持續(xù)測試方面,開發(fā)人員可以使用Wallaby.js工具,借助任何斷言庫實現Mocha的實時代碼覆蓋。Mocha還與應用程序框架集成,比如通過Konacha,這讓開發(fā)人員可以使用Mocha在Ruby on Rails應用程序中測試JavaScript。還有許多編輯器插件,比如面向Visual Studio Code的Mocha側邊欄擴展。

Mocha安裝:https://mochajs.org/#installation

Protractor

Protractor是一款面向Angular及前身AngularJS的端到端測試框架。測試在瀏覽器中針對應用程序來運行,Proctractor就像用戶那樣與應用程序進行交互。支持針對Angular的定位器策略,以測試Angular元素,無需任何設置。網頁一完成等待的測試,自動等待功能使Protractor能夠執(zhí)行測試下一步。Protractor建立在WebdriverJS的基礎上,后者是用JavaScript實現的用于測試的Selenium瀏覽器自動化工具。

Protractor安裝:http://www.protractortest.org/#/

QUnit

QUnit是一個被JQuery、jQuery UI和jQuery Mobile等項目使用的JavaScript單元測試框架。實際上,QUnit最初由jQuery的發(fā)明人John Resig開發(fā)而成,作為jQuery的一部分。 QUnit號稱速度快、易于使用,擁有自成一體但簡潔、易于擴展的API,可用于測試任何普通的JavaScript代碼。測試或斷言失敗時,QUnit承諾盡快提供反饋,有足夠的細節(jié)來查明問題。QUnit中的斷言方法遵循CommonJS單元測試規(guī)范。QUnit支持有賴于jQuery 3.x的瀏覽器,包括Chrome、Edge、Firefox、Internet Explorer和Safari的各種版本。

QUnit安裝:https://qunitjs.com/

原文標題:10 trusty JavaScript test tools,作者:Paul Krill

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2019-06-13 05:20:17

2020-08-29 19:21:52

安全測試工具安全工具網絡安全

2020-01-18 15:20:25

工具代碼開發(fā)

2009-04-02 09:23:48

JavaScript測試工具瀏覽器

2012-02-24 09:25:20

JavaScript

2011-10-08 13:45:12

JavaScript

2019-08-28 10:00:34

Python測試工具命令

2017-09-26 08:51:25

2018-01-16 11:20:08

2009-06-26 10:22:58

JSF測試

2011-05-31 18:09:05

動態(tài)測試

2020-05-27 14:41:51

主流軟件測試工具

2009-03-31 09:49:40

Rational功能測試性能測試

2019-02-22 10:11:48

Java開發(fā)代碼

2013-07-26 09:51:12

網站性能網站測試性能測試

2018-11-19 15:08:21

Python測試工具pytest插件

2019-03-15 09:17:22

Web測試工具

2013-08-13 09:43:59

響應式免費測試工具響應式設計

2015-04-22 12:10:28

在線編譯調試工具

2012-06-25 14:30:48

Web
點贊
收藏

51CTO技術棧公眾號