摘要:單元測試能限制你庫中的生長。但你可以使用單元測試來測試每個特性,并且編寫起來并不難。一些用于單元測試的庫提供了好用的方法來執(zhí)行測試。也就是說此時的應(yīng)該是如果您想運(yùn)行多帶帶的某個單元測試,可以用。
原文發(fā)布于2017年7月,為保證能正常運(yùn)行,其中部分命令進(jìn)行了調(diào)整。當(dāng)時TypeScript版本為2.x,但依舊具有借鑒意義。
單元測試能限制你庫中Bug的「生長」。隨著編寫的庫越來越大,你不能總是手工測試每個特性。但你可以使用單元測試來測試每個特性,并且編寫起來并不難。下面展示如何在Typescript中設(shè)置單元測試!
步驟1:安裝用于單元測試的包單元測試assert(推斷)代碼中一些屬性。例如你有一個方法add(x,y),其應(yīng)該正確地將x和y相加,通過單元測試你可以進(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:編寫第一個單元測試假設(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)該會在控制臺中看到一個輸出,如下所示:
您可以將這個長命令放入package.json中轉(zhuǎn)換成"scripts:{"test":"…"}"然后用npm test運(yùn)行測試。也就是說此時的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)行多帶帶的某個單元測試,可以用./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。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105736.html
摘要:單元測試一個合格的庫應(yīng)該包含完整的單元測試。是的支持版,和是一樣的,它能夠直接運(yùn)行為后綴的單元測試文件。在目錄下加入然后執(zhí)行即可看到單元測試結(jié)果。 這篇文章主要是講述如何使用 TypeScript 編寫一個完善,包含測試、文檔、持續(xù)集成的庫,涵蓋了編寫整個庫所需要的技術(shù)和工具,主要涵蓋: 項(xiàng)目目錄骨架 TypeScript 配置 使用 jest 單元測試 使用 vuepress 編寫...
摘要:是一個測試框架,在中配合斷言庫實(shí)現(xiàn)單元測試。腳本命名方式為組件名。單元測試默認(rèn)測試目錄下除了之外的所有文件,可在文件中修改。回收,一般在每個測試腳本測試完成后執(zhí)行回收。等元素事件名稱配置項(xiàng)觸發(fā)和事件,既觸發(fā)點(diǎn)擊事件。 ??百度網(wǎng)盤??提取碼:u6C4在使用vue-cli創(chuàng)建項(xiàng)目的時候,會提示要不要安裝單元測試和e2e測試。...
摘要:背景需要包寫起來爽,然而如果遇到?jīng)]有現(xiàn)成的化的工具函數(shù),就需要自己想辦法弄出一份類型聲明文件了。最為重要的是,這種遷移方面我們可以隨意自定義化中所需要的工具函數(shù),遷移粒度都可以由自己控制。 1、背景 1.1、需要 TS 包 TypeScript 寫起來爽,然而如果遇到?jīng)]有現(xiàn)成的 TS 化的工具函數(shù),就需要自己想辦法弄出一份類型聲明文件了。 前兩天要寫的小工具庫(Typescript 語...
摘要:一個帶提示的最后對于開發(fā)同學(xué)來說,就算不使用,也強(qiáng)烈建議使用提供注解,它會通過一些類型推導(dǎo)來檢查你的代碼的正確性,可以減少很多開發(fā)過程中的。相對于對象,它保證了輸入的類型你定義的對象可能某一天不再只有類型的,不再需要額外的類型判斷。 作者:陳達(dá)孚 香港中文大學(xué)研究生,《移動Web前端高效開發(fā)實(shí)戰(zhàn)》作者之一,《前端開發(fā)者指南2017》譯者之一,在中國前端開發(fā)者大會,中生代技術(shù)大會等技術(shù)...
摘要:前端每周清單第期現(xiàn)狀分析與優(yōu)化策略單元測試爬蟲作者王下邀月熊編輯徐川前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。 showImg(https://segmentfault.com/img/remote/1460000011008022); 前端每周清單第 29 期:Web 現(xiàn)狀分析與優(yōu)化策略...
閱讀 1946·2021-11-24 09:39
閱讀 3530·2021-09-28 09:36
閱讀 3302·2021-09-06 15:10
閱讀 3459·2019-08-30 15:44
閱讀 1166·2019-08-30 15:43
閱讀 1811·2019-08-30 14:20
閱讀 2724·2019-08-30 12:51
閱讀 2046·2019-08-30 11:04