最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年07月18日 09:52:41   作者:RDDcoding  
這篇文章主要介紹了對(duì)TypeScript庫進(jìn)行單元測試的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
原文發(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;
}

那對(duì)應(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)該會(huì)在控制臺(tái)中看到一個(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?!癟estName”可以是任何的describe值,在本例中就如./node_modules/mocha/bin/mocha --reporter spec --grep "My math library" --require ts-node/register test/**/*.test.ts

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

相關(guān)文章

最新評(píng)論

广昌县| 两当县| 崇信县| 南部县| 明水县| 崇阳县| 赤壁市| 蓬溪县| 南开区| 清水县| 萨嘎县| 桃江县| 莱西市| 眉山市| 灵石县| 泽普县| 南川市| 清水河县| 琼中| 德庆县| 望城县| 长治市| 保康县| 桐庐县| 阿勒泰市| 仪征市| 五寨县| 揭西县| 额尔古纳市| 佛冈县| 烟台市| 滁州市| 明溪县| 黔江区| 颍上县| 七台河市| 闵行区| 余干县| 城步| 裕民县| 阿克陶县|