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

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

 更新時(shí)間:2019年07月18日 09:52:41   作者:RDDcoding  
這篇文章主要介紹了對TypeScript庫進(jìn)行單元測試的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(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;
}

那對應(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

德令哈市| 峨眉山市| 通海县| 达州市| 嘉义县| 从化市| 云和县| 乌拉特后旗| 固阳县| 宝丰县| 洪泽县| 汾西县| 濉溪县| 东阳市| 泸溪县| 仪征市| 乌兰浩特市| 黑河市| 高邮市| 古浪县| 山丹县| 精河县| 丘北县| 杭锦旗| 治县。| 邯郸县| 丰县| 乐山市| 河曲县| 桐梓县| 方山县| 深水埗区| 杭州市| 沅江市| 孝昌县| 宁明县| 丰台区| 司法| 彭州市| 博乐市| 宁安市|