国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

對(duì)TypeScript庫(kù)進(jìn)行單元測(cè)試

jayzou / 3050人閱讀

摘要:?jiǎn)卧獪y(cè)試能限制你庫(kù)中的生長(zhǎng)。但你可以使用單元測(cè)試來測(cè)試每個(gè)特性,并且編寫起來并不難。一些用于單元測(cè)試的庫(kù)提供了好用的方法來執(zhí)行測(cè)試。也就是說此時(shí)的應(yīng)該是如果您想運(yùn)行多帶帶的某個(gè)單元測(cè)試,可以用。

原文發(fā)布于2017年7月,為保證能正常運(yùn)行,其中部分命令進(jìn)行了調(diào)整。

當(dāng)時(shí)TypeScript版本為2.x,但依舊具有借鑒意義。

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

步驟1:安裝用于單元測(cè)試的包

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

一些用于單元測(cè)試的庫(kù)提供了好用的assert方法來執(zhí)行測(cè)試。我們這里使用了MochaChai,通過如下命令進(jìn)行安裝:

npm i mocha @types/mocha chai @types/chai ts-node typescript --save-dev

步驟2:編寫第一個(gè)單元測(cè)試

假設(shè)你有以下單元:

typescript-library/src/math.ts

export function add(x: number, y: number) {
  return x + y;
}

那對(duì)應(yīng)的單元測(cè)試可能是這樣的:

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)行單元測(cè)試

您可以使用以下命令運(yùn)行測(cè)試:

./node_modules/mocha/bin/mocha --reporter spec --require ts-node/register src/**/*.test.ts

然后應(yīng)該會(huì)在控制臺(tái)中看到一個(gè)輸出,如下所示:

您可以將這個(gè)長(zhǎng)命令放入package.json中轉(zhuǎn)換成"scripts:{"test":"…"}"然后用npm test運(yùn)行測(cè)試。也就是說此時(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)行多帶帶的某個(gè)單元測(cè)試,可以用./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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/105736.html

相關(guān)文章

  • 使用 TypeScript 編寫一個(gè)完善包含測(cè)試、文檔和持續(xù)集成的庫(kù)

    摘要:?jiǎn)卧獪y(cè)試一個(gè)合格的庫(kù)應(yīng)該包含完整的單元測(cè)試。是的支持版,和是一樣的,它能夠直接運(yùn)行為后綴的單元測(cè)試文件。在目錄下加入然后執(zhí)行即可看到單元測(cè)試結(jié)果。 這篇文章主要是講述如何使用 TypeScript 編寫一個(gè)完善,包含測(cè)試、文檔、持續(xù)集成的庫(kù),涵蓋了編寫整個(gè)庫(kù)所需要的技術(shù)和工具,主要涵蓋: 項(xiàng)目目錄骨架 TypeScript 配置 使用 jest 單元測(cè)試 使用 vuepress 編寫...

    lingdududu 評(píng)論0 收藏0
  • 深入Vue3+TypeScript技術(shù)棧-coderwhy大神新課 王紅元

    摘要:是一個(gè)測(cè)試框架,在中配合斷言庫(kù)實(shí)現(xiàn)單元測(cè)試。腳本命名方式為組件名。單元測(cè)試默認(rèn)測(cè)試目錄下除了之外的所有文件,可在文件中修改。回收,一般在每個(gè)測(cè)試腳本測(cè)試完成后執(zhí)行回收。等元素事件名稱配置項(xiàng)觸發(fā)和事件,既觸發(fā)點(diǎn)擊事件。 ??百度網(wǎng)盤??提取碼:u6C4在使用vue-cli創(chuàng)建項(xiàng)目的時(shí)候,會(huì)提示要不要安裝單元測(cè)試和e2e測(cè)試。...

    番茄西紅柿 評(píng)論0 收藏2637
  • 快速 TypeScript 化 lodash 中的 throttle & debounce

    摘要:背景需要包寫起來爽,然而如果遇到?jīng)]有現(xiàn)成的化的工具函數(shù),就需要自己想辦法弄出一份類型聲明文件了。最為重要的是,這種遷移方面我們可以隨意自定義化中所需要的工具函數(shù),遷移粒度都可以由自己控制。 1、背景 1.1、需要 TS 包 TypeScript 寫起來爽,然而如果遇到?jīng)]有現(xiàn)成的 TS 化的工具函數(shù),就需要自己想辦法弄出一份類型聲明文件了。 前兩天要寫的小工具庫(kù)(Typescript 語...

    lewinlee 評(píng)論0 收藏0
  • 你不知道的前端SDK開發(fā)技巧

    摘要:一個(gè)帶提示的最后對(duì)于開發(fā)同學(xué)來說,就算不使用,也強(qiáng)烈建議使用提供注解,它會(huì)通過一些類型推導(dǎo)來檢查你的代碼的正確性,可以減少很多開發(fā)過程中的。相對(duì)于對(duì)象,它保證了輸入的類型你定義的對(duì)象可能某一天不再只有類型的,不再需要額外的類型判斷。 作者:陳達(dá)孚 香港中文大學(xué)研究生,《移動(dòng)Web前端高效開發(fā)實(shí)戰(zhàn)》作者之一,《前端開發(fā)者指南2017》譯者之一,在中國(guó)前端開發(fā)者大會(huì),中生代技術(shù)大會(huì)等技術(shù)...

    jokester 評(píng)論0 收藏0
  • 前端每周清單第 29 期:Web 現(xiàn)狀分析與優(yōu)化策略、Vue 單元測(cè)試、Headless Chrom

    摘要:前端每周清單第期現(xiàn)狀分析與優(yōu)化策略單元測(cè)試爬蟲作者王下邀月熊編輯徐川前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。 showImg(https://segmentfault.com/img/remote/1460000011008022); 前端每周清單第 29 期:Web 現(xiàn)狀分析與優(yōu)化策略...

    HackerShell 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<