我已经创建了一个sails js应用程序。我想为我的应用程序添加单元测试。我正在使用以下方法进行单元测试。 http://sailsjs-documentation.readthedocs.org/en/latest/concepts/Testing/
我正在使用grunt用mocha测试我的应用程序。现在我需要一种方法来覆盖一些用于测试的sails方法(查找,更新等),因为我不想在测试代码时与数据库进行交互。有没有办法覆盖sails js方法。作为我在测试中使用User.find方法的一个例子,我希望有一个特定的结果来测试我的其他方法是否完美。任何形式的帮助都会得到满足。
答案 0 :(得分:3)
如果您想在不触及生产数据库的情况下进行测试,可以使用数据库的不同表/集合。这是集成测试中的常用方法(不使用模拟)。
以下是文件bootstrap.test.js
var Sails = require('sails'),
sails;
before(function (done) {
Sails.lift({
connections: {
mongodbServer: {
database: 'database_test'
}
},
models : {
migrate: 'drop'
}
}, function (err, server) {
sails = server;
if (err) return done(err);
done();
});
});
after(function (done) {
// here you can clear fixtures, etc.
sails.lower(done);
});
假设您的连接使用mongodbServer
和db database_test
。配置它以满足您的需求。