search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

給 Web 開發人員推薦的測試工具

用戶對於現代 Web 應用除了美觀要求之外,對產品體驗度也有較高的要求。在推薦過幾期開源圖形庫和通用獨立 UI 組件后,覺著是時候推薦一些測試工具了。這應該也是該系列的最後一篇,感謝大家的支持。

  • 給 Web 開發人員推薦的通用獨立 UI 組件(二)

  • 給 Web 開發人員推薦的通用獨立 UI 組件(一)

  • 給 Web 開發人員推薦的開源圖形庫 —— 2D/3D

  • 給 Web 開發人員推薦的開源圖形庫 —— 動畫

  • 給 Web 開發人員推薦的開源圖形庫 —— 數據可視化

一、單元測試/測試運行器

1、Jest:https://www.oschina.net/p/jest

知名的 JavaScript 單元測試工具,由 Facebook 開源,開箱即用。它在最基礎層面被設計用於快速、簡單地編寫地道的 JavaScript 測試,能自動模擬 require 返回的 CommonJS 模塊,並提供了包括內置的測試環境 Dom API 支持、合理的默認值、預處理代碼和默認執行并行測試在內的特性。通過在并行進程中同時運行測試,讓測試更快地結束。

2、AVA:https://www.oschina.net/p/ava

號稱「未來的測試運行器」,利用 JavaScript 在 Node.js 里使得 IO 可以并行的優點,讓你的測試可以併發執行,這對於 IO 繁重的測試特別有用。另外,測試文件可以在不同的進程里并行運行,讓每一個測試文件可以獲得更好的性能和獨立的環境。測試併發執行強制你寫原子測試,意味著測試不需要依賴全局狀態或者其他測試的狀態。

3、Mocha:https://www.oschina.net/p/mocha-js

一個功能豐富的測試框架,用於 Node.js 和瀏覽器上的 JavaScript 應用測試,使非同步測試變得簡單而有趣。它可以持續運行測試,支持靈活又準確的報告,當映射到未捕獲異常時轉到正確的測試示例。

4、Karma:https://www.oschina.net/p/karma

基於 Node.js 的 JavaScript 測試運行器,旨在為開發人員帶來有效的測試環境。可用於測試所有主流 Web 瀏覽器,也可集成到 CI 工具,還可和其他代碼編輯器一起使用。另外一個強大特性就是,它可以監控文件的變化,然後自行執行,通過 console.log 顯示測試結果。

二、Web 測試

1)集成測試

Enzyme:https://www.oschina.net/p/enzyme

一個用於 React 的 JavaScript 測試工具,方便你判斷、操縱和歷遍 React Components 輸出。其 API 旨在通過模仿 jQuery 的 API ,使得 DOM 操作和歷遍很靈活、直觀。兼容所有的主要測試運行器和判斷庫。

示例:Shallow Rendering

import React from 'react';import { expect } from 'chai';import { shallow } from 'enzyme';import sinon from 'sinon';import MyComponent from './MyComponent';import Foo from './Foo';describe('', => {

it('renders three components', => { const wrapper = shallow();

expect(wrapper.find(Foo)).to.have.length(3);

});

it('renders an `.icon-star`', => { const wrapper = shallow();

expect(wrapper.find('.icon-star')).to.have.length(1);

});

it('renders children when passed in', => { const wrapper = shallow((

));

expect(wrapper.contains(

)).to.equal(true);

});

it('simulates click events', => { const onButtonClick = sinon.spy; const wrapper = shallow((

));

wrapper.find('button').simulate('click');

expect(onButtonClick).to.have.property('callCount', 1);

});

});

2)功能測試

1、WebDriverIO:http://webdriver.io/

該庫是 Node.JS 的 Webdriver(瀏覽器自動化)模塊,可在 BDD / TDD 測試框架中編寫超級簡單的 Selenium 測試。

2、Nightwatch:http://nightwatchjs.org/

一個易於使用的基於 Node.js 的瀏覽器自動化測試解決方案。它使用強大的 Selenium WebDriver API 來在 DOM 元素上執行命令和斷言。語法簡單但很強大,使你可以快速編寫測試。內置的命令行測試運行器,能夠運行整體測試,分組測試或者單個測試。

類似的還有 ProtractorCasperJS ,感興趣的可以直接查看。

3)Visual 測試

Storybook:https://storybook.js.org/

一個 UI 組件的開發環境,允許你瀏覽組件庫,查看每個組件的不同狀態,以及互動式開發和測試組件。它運行在應用之外,允許隔離開發 UI 組件,這可以提高組件的重用性、可測試性和開發速度。

4)猴子測試(Monkey Testing,也稱「搞怪測試」)

Gremlins.js:https://www.oschina.net/p/gremlins-js

一個用 JavaScript 編寫的猴子測試庫,用於 Node.js 和瀏覽器。通過釋放大量無規律的 gremlins 來檢測 Web 應用的魯棒性。

5)服務端測試

1、K6:https://k6.io/

用於測試性能,以開發人員為中心的負載測試工具。提供了一個通過 REST API 進行編排的清新易用的腳本 API 。使用 Go 和 JavaScript構 建,可以很好地集成到開發工作流程中。

2、SuperTest:https://github.com/visionmedia/supertest

SuperAgent 的一個擴展,一個輕量級 HTTP AJAX 請求庫。提供對 HTTP 測試的高度抽象, 極大地簡化了基於 HTTP 的測試。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦