偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

10個(gè)可靠的JavaScript測(cè)試工具

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

[[274152]]

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

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

AVA

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

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

Cucumber.js

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

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

Enzyme

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

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

Karma

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

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

Jasmine

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

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

Jest

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

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

Luna

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

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

Mocha

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

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

Protractor

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

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

QUnit

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

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

原文標(biāo)題:10 trusty JavaScript test tools,作者:Paul Krill

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2019-06-13 05:20:17

2020-08-29 19:21:52

安全測(cè)試工具安全工具網(wǎng)絡(luò)安全

2020-01-18 15:20:25

工具代碼開發(fā)

2012-02-24 09:25:20

JavaScript

2009-04-02 09:23:48

JavaScript測(cè)試工具瀏覽器

2011-10-08 13:45:12

JavaScript

2019-08-28 10:00:34

Python測(cè)試工具命令

2017-09-26 08:51:25

2018-01-16 11:20:08

2009-06-26 10:22:58

JSF測(cè)試

2011-05-31 18:09:05

動(dòng)態(tài)測(cè)試

2020-05-27 14:41:51

主流軟件測(cè)試工具

2009-03-31 09:49:40

Rational功能測(cè)試性能測(cè)試

2019-02-22 10:11:48

Java開發(fā)代碼

2015-04-22 12:10:28

在線編譯調(diào)試工具

2018-11-19 15:08:21

Python測(cè)試工具pytest插件

2013-07-26 09:51:12

網(wǎng)站性能網(wǎng)站測(cè)試性能測(cè)試

2019-03-15 09:17:22

Web測(cè)試工具

2013-08-13 09:43:59

響應(yīng)式免費(fèi)測(cè)試工具響應(yīng)式設(shè)計(jì)

2012-06-25 14:30:48

Web
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)