Hol*_*osa 10 sails.js waterline
我使用'sails-memory'作为我的Sails单元测试的数据库,理想情况下希望在单独测试后清除整个数据库.有没有办法可以删除整个数据库?
我找到了另一种似乎有用的方法.这会发出一个事件,告诉orm挂钩在每次测试之前重新加载.如果使用内存db或带有'drop' migrate选项的磁盘db,它将完成所需的操作.
beforeEach((done) => {
"use strict";
// Drops database between each test. This works because we use
// the memory database
sails.once('hook:orm:reloaded', done);
sails.emit('hook:orm:reload');
});
Run Code Online (Sandbox Code Playgroud)
您可以在每次测试之前提升 sails 应用程序,重建数据库 ( migrate: 'drop')。这是一个例子:
Sails = require('sails/lib/app');
app = Sails();
var testConfig = {
environment: 'test',
port: 1337,
log: {
level: 'error'
},
connections: {
testDB: {
adapter: 'sails-memory'
}
},
connection: 'testDB',
//wipe/drop ALL my data and rebuild models every time
migrate: 'drop'
};
beforeEach(function (done) {
// start sails app for tests
app.lift(testConfig, function (err, sails) {
done(err);
});
});
//tests...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3816 次 |
| 最近记录: |