【发布时间】:2015-08-19 09:41:57
【问题描述】:
我用 waterline(defaultI orm) 写了一些 unit test in sails 工作正常,但是当我尝试使用 sequelize orm 时出现错误。
我正在使用以下内容:
- 续集orm
- 帆-续集-挂钩
- 摩卡和柴
- 超级测试
- “pg-hstore”:“^2.3.2”
- “pg”:“^4.4.1”
我的文件夹结构是:
./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 test/bootstrap.test.js test/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.
我做错了什么任何想法。
【问题讨论】:
-
您是否禁用了
.sailsrc中的orm 和pubsub 挂钩已显示here? -
是的,我做到了。 @AlexisN-o
-
没有 sequelize.js(带 wateline)的单元测试工作正常,但是当我使用 sequelize 时,我得到了错误。
标签: postgresql unit-testing sails.js sequelize.js waterline