單元測試能限制你庫中Bug的「生長」。隨著編寫的庫越來越大,你不能總是手工測試每個特性。但你可以使用單元測試來測試每個特性,并且編寫起來并不難。下面展示如何在Typescript中設置單元測試!
步驟1:安裝用于單元測試的包
單元測試assert
(推斷)代碼中一些屬性。例如你有一個方法add(x,y)
,其應該正確地將x
和y
相加,通過單元測試你可以進行如下測試assert(add(3,4)).equals(7)
。
一些用于單元測試的庫提供了好用的assert
方法來執(zhí)行測試。我們這里使用了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
然后應該會在控制臺中看到一個輸出,如下所示:
您可以將這個長命令放入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
?!癟estName”可以是任何的describe
值,在本例中就如./node_modules/mocha/bin/mocha --reporter spec --grep "My math library" --require ts-node/register test/**/*.test.ts
。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com