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