国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

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

2024-05-06 16:53:24
字體:
來源:轉載
供稿:網友
原文發布于2017年7月,為保證能正常運行,其中部分命令進行了調整。

當時TypeScript版本為2.x,但依舊具有借鑒意義。

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

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

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

一些用于單元測試的庫提供了好用的assert方法來執行測試。我們這里使用了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

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

TypeScript,單元測試

您可以將這個長命令放入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。“TestName”可以是任何的describe值,在本例中就如./node_modules/mocha/bin/mocha --reporter spec --grep "My math library" --require ts-node/register test/**/*.test.ts

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚松县| 珠海市| 宁安市| 龙口市| 新乡市| 仁化县| 永州市| 衡南县| 田阳县| 湖南省| 新沂市| 常宁市| 巴中市| 巨鹿县| 连云港市| 建宁县| 海原县| 龙岩市| 通辽市| 曲沃县| 黄冈市| 乐都县| 施秉县| 金溪县| 城市| 榆林市| 南宫市| 连城县| 临桂县| 宁都县| 景泰县| 周宁县| 兴宁市| 乃东县| 洛隆县| 饶平县| 塘沽区| 株洲市| 图木舒克市| 攀枝花市| 金乡县|