原文发布于2017年7月,为保证正常运行,对部分命令进行了调整。当时TypeScript版本是2.x,但还是有参考价值的。单元测试可以限制库中错误的“增长”。当您编写越来越大的库时,您不能总是手动测试每个功能。但是你可以使用单元测试来测试每个功能,而且编写起来并不难。这是在Typescript中设置单元测试的方法!第1步:安装单元测试包单元测试断言(推断)代码中的某些属性。例如你有一个方法add(x,y)应该正确地添加x和y,通过单元测试你可以做下面的测试assert(add(3,4)).equals(7)。一些用于单元测试的库提供了一个很好的断言方法来执行测试。我们在这里使用Mocha和Chai,使用以下命令安装:npmimocha@types/mochachai@types/chaits-nodetypescript--save-dev步骤2:编写你的第一个单元测试假设你有以下单元:typescript-library/src/math.tsexportfunctionadd(x:number,y:number){returnx+y;}相应的单元测试可能如下所示:typescript-library/src/math.test.tsimport{add}from'./math';import*asmochafrom'mocha';import*aschaifrom'chai';constexpect=chai.expect;describe('我的数学图书馆',()=>{it('应该能够正确添加东西',()=>{expect(add(3,4)).to.equal(7);});});第3步:运行单元测试你可以运行测试:./node_modules/mocha/bin/mocha--reporterspec--requirets-node/registersrc/**/*.test.ts你应该会看到一个在控制台中输出如下:你可以将这个长命令放入package.json并将其转换为"scripts:{"test":"…"}"并使用npmtest运行测试。也就是说此时的package.json应该是:{"devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.7","柴":"^4.2.0","ts-node":"^8.3.0","mocha":"^6.1.4"},"scripts":{"test":"./node_modules/mocha/bin/mocha--reporterspec--requirets-node/registersrc/**/*.test.ts"}}如果要运行单个单元测试,可以使用./node_modules/mocha/bin/mocha--reporterspec--grep"TestName"--requirets-node/registersrc/**/*.test.ts.“TestName”可以是任何描述值,在本例中为./node_modules/mocha/bin/mocha--reporterspec--grep"Mymathlibrary"--requirets-node/registertest/**/*。测试.ts。
