风帆钩子的摩卡测试取决于帆应用程序

时间:2018-01-30 12:26:37

标签: sails.js mocha sails-hook

我正在尝试为依赖于特定风帆应用程序(myapp)的sails安装钩(myhook)编写mocha测试。我想用bootstrap.test.js用myhook解除myapp。因此,我在myhook项目中有myapp一个devDependency。

我的bootstrap.test.js有这样的东西:

var myapp = require('myapp');

// put it in global (special case) for npm test only
global.thehook = require('../api/hooks/myhook/index');

before(function(done) {

  this.timeout(10000);

  console.log("Bootstrap lifting sails...");

  myapp.lift({
      hooks: {
         "myhook": global.thehook,
         "grunt": false
      },
      log: {level: "error"},
  }, function(err) {
      if (err) return done(err);
      // here you can load fixtures, etc.
      done(err, sails);
  });
});
after(function(done) {
  myapp.lower(done);
});

思考.lift()和.lower将适用于风帆应用。但是,情况似乎并非如此。

我如何使这项工作?

1 个答案:

答案 0 :(得分:0)

您需要使用sails依赖项代替path: '**'

myapp

var sails = require('sails'); before(function(done) { sails.lift({ // test configuration }, function (error) { // ... done(); }); }); after(function(done) { sails.lower(function (error) { //... done(); }); }) 依赖项从项目目录的根目录开始,将提升应用程序,因此无需sails来解除应用程序。