对于大多数开发者来说,都不太喜欢编写测试。当你在编写测试的周期的时候,能有一个快速的效应时间,那么这件事将变得更容易。结合一个好的测试框架你会有一个更好的开始。
测试驱动开发(TDD, Test-driven development)是一种你编写单元测试和应用程序代码的软件开发方法。典型的就是写一个空的根方法,创建一个失败的测试来验证不存在的程序逻辑,直到全部的程序逻辑测试都变成绿色。最后,在你 push 你的提交前重构你的代码。
让我们创建一个基于 TypeScript 的 TDD 配置。
大量的 IDE 都支持单元测试和测试驱动开发,但是大多数开发者使用文本编辑器编写 JavaScript。我们需要一个命令行的方式去创建一个快速的 TDD 配置。
它应该是:
还有一个需要我们也关心的地方,如果在运行测试之前没有通过,这时候又开始一个新的测试,我们就需要停止前一个测试。这是 grunt + mocha 不能处理的。
我们需要的配置如下:
使用一个 gaze-run-interrupt 的 npm 包来 watch 文件的改变,并且出发一系列命令,也能 kill 前面的序列。还将使用 Mocha 和它的 min-reporter 功能来显示失败的测试。
配置步骤
package.json
文件中添加 gaze-run-interrupt
开发依赖(devDependency)tdd
文件,并且给它执行权限。
#!/usr/bin/env node
var gaze_run_interrupt = require('gaze-run-interrupt');
gaze_run_interrupt('{src,test}/**/*.ts', [{
command: 'node_modules/.bin/tsc'
}, {
command: '../../node_modules/.bin/mocha',
args: ['--reporter', 'min'],
cwd: 'dist/js'
}]);
node tdd
最后执行效果:
原文出自:http://bytearcher.com/articles/fast-tdd-setup-for-typescript/
注:原文的代码需要输入邮箱,我自己手敲了一下,放在 github tdd_demo 还有就是原文中的配置可以根据 vscode 工具进行优化,还有脚本的方式我修改为了 node 脚本执行的方式,其实有其它更好的方式,但是这篇文章主要是说明一种快速 TDD 软件开发的方式。
博客原文:http://60sky.com/post/typescript-fast-tdd.html
扫码关注w3ctech微信公众号
共收到0条回复