什么是运行测试套件之前清理数据库的最佳方式(有没有NPM库或这样的推荐方法)。
我知道的前()函数。
我使用节点/快递,摩卡和sequelize。
什么是运行测试套件之前清理数据库的最佳方式(有没有NPM库或这样的推荐方法)。
我知道的前()函数。
我使用节点/快递,摩卡和sequelize。
在before
的功能是一样好,你会为清理你的数据库做。 如果你只需要清理一次数据库,即运行所有测试前,你可以有一个全球before
功能在一个单独的文件
before(function(done) {
// remove database data here
done()
})
require('./globalBefore)
// actual test 1 here
require('./globalBefore)
// actual test 2 here
需要注意的是globalBefore将只运行一次,即使它已经两次要求
尽量限制使用外部依赖条件,比如在你的测试数据库。 越少的外部依赖的测试更容易。 你要能够并行运行和共享资源,如数据库,使这个困难的所有单元测试。
看看这个谷歌科技说说编写可测试的JavaScript http://www.youtube.com/watch?v=JjqKQ8ezwKQ
还需要看看ReWire的模块。 它工作得很好删空函数。
我通常不喜欢这样(说一个User
模式):
describe('User', function() {
before(function(done) {
User.sync({ force : true }) // drops table and re-creates it
.success(function() {
done(null);
})
.error(function(error) {
done(error);
});
});
describe('#create', function() {
...
});
});
还有sequelize.sync({force: true})
这将删除并重新创建所有表( .sync()
描述在这里 )。
我做了这个LIB清洁和进口灯具进行测试。
这样,您就可以导入夹具,测试,然后清理数据库。
看看下面的例子:
before(function (done) {
prepare.start(['people'], function () {
done();
});
});
after(function () {
prepare.end();
});
https://github.com/diogolmenezes/test_prepare