Javascript Sails.js:从单元测试调用控制器方法

Javascript Sails.js:从单元测试调用控制器方法,javascript,node.js,unit-testing,sails.js,Javascript,Node.js,Unit Testing,Sails.js,我想寻求一些帮助。我正在尝试创建一个可以为单元测试调用的方法&在触发特定路由时调用createFromRoute()工作正常。如果我直接调用create(),就会得到一个错误 用户控制器 样品试验 错误 只有在您提起应用程序后,全局变量User才可用。是吗 由于您的模型在lift上转换为吃水线集合,因此 在尝试测试它们之前,有必要提起帆(此 同样适用于控制器和应用程序的其他部分,因此 确保先调用此文件) 谢谢你的帮助。我做了,但这并没有解决我的问题。 module.exports = {

我想寻求一些帮助。我正在尝试创建一个可以为单元测试调用的方法&在触发特定路由时调用<代码>createFromRoute()工作正常。如果我直接调用create(),就会得到一个错误

用户控制器 样品试验 错误
只有在您提起应用程序后,全局变量
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);
});