Javascript Sails.js:从单元测试调用控制器方法
我想寻求一些帮助。我正在尝试创建一个可以为单元测试调用的方法&在触发特定路由时调用<代码>createFromRoute()工作正常。如果我直接调用create(),就会得到一个错误 用户控制器 样品试验 错误Javascript Sails.js:从单元测试调用控制器方法,javascript,node.js,unit-testing,sails.js,Javascript,Node.js,Unit Testing,Sails.js,我想寻求一些帮助。我正在尝试创建一个可以为单元测试调用的方法&在触发特定路由时调用createFromRoute()工作正常。如果我直接调用create(),就会得到一个错误 用户控制器 样品试验 错误 只有在您提起应用程序后,全局变量User才可用。是吗 由于您的模型在lift上转换为吃水线集合,因此 在尝试测试它们之前,有必要提起帆(此 同样适用于控制器和应用程序的其他部分,因此 确保先调用此文件) 谢谢你的帮助。我做了,但这并没有解决我的问题。 module.exports = {
只有在您提起应用程序后,全局变量
User
才可用。是吗
由于您的模型在lift上转换为吃水线集合,因此
在尝试测试它们之前,有必要提起帆(此
同样适用于控制器和应用程序的其他部分,因此
确保先调用此文件)
谢谢你的帮助。我做了,但这并没有解决我的问题。
module.exports = {
/**
* UserController.createFromRoute()
*/
createFromRoute: function(req, res, next) {
console.log('>>>', 'Routing to UserController.createFromRoute()');
// Calling create method
this.create(req.params.all())
.then(function(user) {
res.json(user);
})
.fail(res.badRequest);
},
create: function(data) {
console.log('>>>', 'Entering create() function.');
return User.create(data);
},
};
var UserController = require('../../api/controllers/UserController.js');
describe('testing', function() {
data = {};
UserController.create(data);
});
>>> Entering create() function.
path/api/controllers/UserController.js:28
return User.create(data);
^
ReferenceError: User is not defined
// /test/bootstrap.test.js
var Sails = require('sails'),
sails;
before(function(done) {
// Increase the Mocha timeout so that Sails has enough time to lift.
this.timeout(5000);
Sails.lift({
// configuration for testing purposes
}, function(err, server) {
sails = server;
if (err) return done(err);
// here you can load fixtures, etc.
done(err, sails);
});
});
after(function(done) {
// here you can clear fixtures, etc.
Sails.lower(done);
});