使用sequelize.js对sails.js进行单元测试



我写了一些单元测试在风帆与水线(默认形式)这工作得很好,但当我尝试与sequelize形式我得到的错误。

    sequelize form
  1. sails-sequelize-hook
  2. 摩卡茶
  3. supertest
  4. 2.3.2
  5. "pg-hstore":"^"
  6. 4.4.1
  7. "pg":"^"

我的文件夹结构是:

  ./myApp
    ├── api
    ├── assets
    ├── ...
    ├── test
    │  ├── unit
    │  │  ├── controllers
    │  │  │  └── UsersController.test.js
    │  │  ├── models
    │  │  │  └── Users.test.js
    │  │  └── ...
    │  ├── fixtures
    │  ├── ...
    │  ├── bootstrap.test.js
    │  └── mocha.opts
    └── views

我的bootstrap.test.js文件是:

  var Sails = require('sails'),sails;
  before(function(done) {
    this.timeout(5000);
    Sails.lift({
    }, function(err, server) {
      sails = server;
      if (err) return done(err);
      done(err, sails);
    });
  });
  after(function(done) {
    Sails.lower(done);
  });

我的连接/配置文件是:

    somePostgresqlServer: {
      user: 'postgres',
      password: 'mypassword',
      database: 'postgres',
      dialect: 'postgres',
      options: {
          dialect: 'postgres',
          host   : 'localhost',
          port   : 5432,
          logging: true
      }
    }

,在config/model.js文件中是:

  connection:"somePostgresqlServer"

和我的。sailsrc是:

  "hooks": {
      "blueprints": false,
      "orm": false,
      "pubsub": false
    }

我在User.test.js中写了一些测试
当我运行mocha测试/bootstrap.test.js测试/unit/**/*.test.js

我得到错误:

  error: In model (user), invalid connection :: { user: 'postgres',
    password: 'mypassword',
    database: 'postgres',
    dialect: 'postgres',
    options: 
     { dialect: 'postgres',
       host: 'localhost',
       port: 5432,
       logging: [Function: _writeLogToConsole] } }
  error: Must contain an `adapter` key referencing the adapter to use.
  npm ERR! Test failed.  See above for more details.

我做错了什么主意

Alexis N-o的问题实际上是一个很好的提示。

,如果你看一下app.js(生成的那个)。它将加载rc之前试图解除:)所以只是添加相同的代码在你的测试bootstrap js将修复它。

    var rc;
    try {
        rc = require('rc');
    } catch (e0) {
    try {
      rc = require('sails/node_modules/rc');
    } catch (e1) {
      console.error('Could not find dependency: `rc`.');
      console.error('Your `.sailsrc` file(s) will be ignored.');
      console.error('To resolve this, run:');
      console.error('npm install rc --save');
      rc = function () { return {}; };
    }
  }
  // Start server
  sails.lift(rc('sails'));

相关内容

  • 没有找到相关文章

最新更新