欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對(duì)TypeScript庫(kù)進(jìn)行單元測(cè)試的方法

 更新時(shí)間:2019年07月18日 09:52:41   作者:RDDcoding  
這篇文章主要介紹了對(duì)TypeScript庫(kù)進(jìn)行單元測(cè)試的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
原文發(fā)布于2017年7月,為保證能正常運(yùn)行,其中部分命令進(jìn)行了調(diào)整。

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

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

步驟1:安裝用于單元測(cè)試的包

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

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

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

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

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

typescript-library/src/math.ts

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

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

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)行單元測(cè)試

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

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

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

您可以將這個(gè)長(zhǎng)命令放入package.json中轉(zhuǎn)換成"scripts:{"test":"…"}"然后用npm test運(yùn)行測(cè)試。也就是說(shuō)此時(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è)單元測(cè)試,可以用./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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論