我正在用 mocha 编写一个 metalsmith 插件及其相关的测试套件。
如果缺少配置,插件应该抛出异常:
function plugin(config) {
...
return function(files, metalsmith, done) {
...
done(new Error("config error"));
}
}
我尝试以这种方式用摩卡测试它:
describe('my plugin', function() {
it('should throw an exception', function(done) {
var metalsmith = Metalsmith('test/fixtures/basic');
metalsmith
.use(myplugin({
someconfig: {
}))
.build(function(err,files) {
assert(err);
done();
});
});
});
当我运行测试时,我得到了这个结果:
my plugin
✓ should throw an exception
1) should throw an exception
1 passing (31ms)
1 failing
1) my plugin should throw an exception:
Error: done() called multiple times
所以看起来测试还可以,但不知何故又运行了一次,这次失败了......