麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

對TypeScript庫進(jìn)行單元測試的方法

2019-11-19 11:10:19
字體:
供稿:網(wǎng)友
原文發(fā)布于2017年7月,為保證能正常運(yùn)行,其中部分命令進(jìn)行了調(diào)整。

當(dāng)時(shí)TypeScript版本為2.x,但依舊具有借鑒意義。

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

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

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

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

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

步驟2:編寫第一個(gè)單元測試

假設(shè)你有以下單元:

typescript-library/src/math.ts

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

那對應(yīng)的單元測試可能是這樣的:

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:運(yùn)行單元測試

您可以使用以下命令運(yùn)行測試:

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

然后應(yīng)該會在控制臺中看到一個(gè)輸出,如下所示:

您可以將這個(gè)長命令放入package.json中轉(zhuǎn)換成"scripts:{"test":"…"}"然后用npm test運(yùn)行測試。也就是說此時(shí)的package.json應(yīng)該是:

{ "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" }}

如果您想運(yùn)行單獨(dú)的某個(gè)單元測試,可以用./node_modules/mocha/bin/mocha --reporter spec --grep "TestName" --require ts-node/register src/**/*.test.ts。“TestName”可以是任何的describe值,在本例中就如./node_modules/mocha/bin/mocha --reporter spec --grep "My math library" --require ts-node/register test/**/*.test.ts

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品亚洲yourport | 久久亚洲美女视频 | 2021av视频 | 涩涩99| 国产精品成人久久 | 爱操在线 | 久久久久久久亚洲精品 | 国产成人77亚洲精品www | 欧美中文在线 | 精品中文字幕视频 | 欧美成年私人网站 | 成人精品久久久 | 国产一区二区三区四区波多野结衣 | 欧美人与牲禽动交精品一区 | 在线观看免费毛片视频 | 一级性生活视频 | 极色品影院 | 青草久久av | 亚洲成人在线免费 | 国产精品久久久久久久久久东京 | 羞羞网站在线观看入口免费 | 免费欧美精品 | 国产大片全部免费看 | 日本中文不卡视频 | 久久亚洲网 | 电影91 | 国产中出在线观看 | 国产午夜电影在线观看 | 蜜桃成品人免费视频 | 国产黄色一区二区 | 欧美成人一区免费视频 | 国产va在线观看 | 一级做a爱片性色毛片 | 国产视频第一区 | 天天操综 | 亚洲一区二区在线 | 色毛片 | 欧美精品18videos性欧美 | 成人一级毛片 | 国产在线精品区 | 日日摸夜夜添夜夜添牛牛 |