由于要做每日极漫小程序,也就需要其背后的漫画翻译组活跃起来,随之,就需要翻译组背后的工具正常使用,不过 LCTC-CLI 已经很久没有更新了,便趁这个机会,恢复这个工具的更新。
对工具的更新, 首先应当做的,自然是补全测试,这样才好确保自己的改动不至于让老项目无法正常运转。
安装 Mocha
首先,执行命令,将 Mocha 安装在开发依赖中。
npm install --save-dev mocha
随后,再修改 package.json
文件中的 scripts
部分的内容,将 test
对应的命令改为 mocha
,效果如下
{
...
"scripts": {
"test": "mocha"
}
...
}
Code language: JavaScript (javascript)
这样,你就可以运行 npm test
来执行测试了。
编写测试
安装完成后,你可以运行npm test
命令,来执行测试,这时,你会发现报错如下:
Warning: Could not find any test files matching pattern: test
No test files found
这是因为你并没有创建测试文件夹和测试文件,所以自然会报错。
执行如下命令,来创建一个测试目录和对应的测试文件
mkdir test
touch test/test.js
再次执行,你就可以看到,测试成功通过。
0 passing (3ms)
虽然是告诉你,你并没有通过任何的测试代码(所以是 0 passing)
接下来,编写第一个测试,打开 test/test.js
,然后填入下述代码
var assert = require('assert');
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal([1,2,3].indexOf(4), -1);
});
});
});
Code language: JavaScript (javascript)
然后,再次执行 npm test
,这样,就完成了第一个测试,你会看到这样的输出
Array
#indexOf()
✓ should return -1 when the value is not present
1 passing (7ms)
这样,就完成了初步的 Mocha 的引入和测试。接下来,开始继续编写实际的测试即可。
不过,我在编写测试时发现,原先的代码结构极为不合理,因此,决定直接重写了。使用 TDD 的思想,完成重写这个工具。