我创建了一个 sails js 应用程序。我想为我的应用程序添加单元测试。我正在使用以下方法进行单元测试。 http://sailsjs-documentation.readthedocs.org/en/latest/concepts/Testing/
我正在使用 grunt 通过 mocha 测试我的应用程序。现在我需要一种方法来覆盖一些 sails 方法(查找、更新等)以用于我的测试,因为我不想在测试代码时与数据库交互。有没有办法覆盖 sails js 方法。例如,当我在测试中使用 User.find 方法时,我想要一个特定的结果来测试我的其他方法是否完美运行。我们将不胜感激。
最佳答案
如果您想在不接触生产数据库的情况下进行测试,您可以使用数据库的不同表/集合。这是集成测试中的常用方法(不使用模拟)。
这是示例,在文件 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
和数据库 database_test
。配置它以满足您的需求。
关于node.js - 风 sails JS 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156076/