最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

對TypeScript庫進行單元測試的方法

來源:懂視網 責編:小采 時間:2020-11-27 21:53:40
文檔

對TypeScript庫進行單元測試的方法

對TypeScript庫進行單元測試的方法:原文發(fā)布于2017年7月,為保證能正常運行,其中部分命令進行了調整。 當時TypeScript版本為2.x,但依舊具有借鑒意義。 單元測試能限制你庫中Bug的「生長」。隨著編寫的庫越來越大,你不能總是手工測試每個特性。但你可以使用單元測試來測試每個特性,并且編寫
推薦度:
導讀對TypeScript庫進行單元測試的方法:原文發(fā)布于2017年7月,為保證能正常運行,其中部分命令進行了調整。 當時TypeScript版本為2.x,但依舊具有借鑒意義。 單元測試能限制你庫中Bug的「生長」。隨著編寫的庫越來越大,你不能總是手工測試每個特性。但你可以使用單元測試來測試每個特性,并且編寫

單元測試能限制你庫中Bug的「生長」。隨著編寫的庫越來越大,你不能總是手工測試每個特性。但你可以使用單元測試來測試每個特性,并且編寫起來并不難。下面展示如何在Typescript中設置單元測試!

步驟1:安裝用于單元測試的包

單元測試assert(推斷)代碼中一些屬性。例如你有一個方法add(x,y),其應該正確地將xy相加,通過單元測試你可以進行如下測試assert(add(3,4)).equals(7)

一些用于單元測試的庫提供了好用的assert方法來執(zhí)行測試。我們這里使用了Mocha和Chai,通過如下命令進行安裝:

npm i mocha @types/mocha chai @types/chai ts-node typescript --save-dev

步驟2:編寫第一個單元測試

假設你有以下單元:

typescript-library/src/math.ts

export function add(x: number, y: number) {
 return x + y;
}

那對應的單元測試可能是這樣的:

typescript-library/src/math.test.ts

import { add } from './math';

import * as mocha from 'mocha';
import * as chai from 'chai';

const expect = chai.expect;
describe('My math library', () => {

 it('should be able to add things correctly' , () => {
 expect(add(3,4)).to.equal(7);
 });

});

步驟3:運行單元測試

您可以使用以下命令運行測試:

./node_modules/mocha/bin/mocha --reporter spec --require ts-node/register src/**/*.test.ts

然后應該會在控制臺中看到一個輸出,如下所示:

您可以將這個長命令放入package.json中轉換成"scripts:{"test":"…"}"然后用npm test運行測試。也就是說此時的package.json應該是:

{
 "devDependencies": {
 "@types/chai": "^4.1.7",
 "@types/mocha": "^5.2.7",
 "chai": "^4.2.0",
 "ts-node": "^8.3.0",
 "mocha": "^6.1.4"
 },
 "scripts": {
 "test": "./node_modules/mocha/bin/mocha --reporter spec --require ts-node/register src/**/*.test.ts"
 }
}

如果您想運行單獨的某個單元測試,可以用./node_modules/mocha/bin/mocha --reporter spec --grep "TestName" --require ts-node/register src/**/*.test.ts?!癟estName”可以是任何的describe值,在本例中就如./node_modules/mocha/bin/mocha --reporter spec --grep "My math library" --require ts-node/register test/**/*.test.ts。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

對TypeScript庫進行單元測試的方法

對TypeScript庫進行單元測試的方法:原文發(fā)布于2017年7月,為保證能正常運行,其中部分命令進行了調整。 當時TypeScript版本為2.x,但依舊具有借鑒意義。 單元測試能限制你庫中Bug的「生長」。隨著編寫的庫越來越大,你不能總是手工測試每個特性。但你可以使用單元測試來測試每個特性,并且編寫
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top