gpt4 book ai didi

testing - 使用桶设置 Sails 0.10.x 固定装置,但数据库中没有

转载 作者:行者123 更新时间:2023-11-28 21:30:03 25 4
gpt4 key购买 nike

this example开始(使用 Sails 0.9.x)来自 Barrels 作者本人,根据 Barrels' repo 稍作修改(使用 Sails 0.10.x)和我的项目设置,这是我的配置:

<Project>/test/specHelper.js (这是测试 Bootstrap ):

'use strict';

var Sails = require('sails')
, Barrels = require('barrels')
, barrels, fixtures;

before(function(done) {
Sails.lift(
{
// Configuration for testing
environment: 'test',
log: {
level: 'error'
},
connections: {
test: {
adapter: 'sails-memory'
}
},
models: {
connection: 'test'
},
port: 98765
},

function(err, sails) {
if (err)
return done(err);

// Load fixtures
barrels = new Barrels(process.cwd() + '/tests/fixtures');
fixtures = barrels.data;
barrels.populate(function(err) {
done(err, sails);
});

}
);
});

after(function(done) {
// Clear fixtures, etc.
Sails.lower(done);
});

这是一个规范文件 <Project>/tests/EntitySpec.js

var chai    = require('chai');
, expect = chai.expect;

describe('Entity', function() {

describe('class methods', function() {

describe('#a_method', function() {

it('does something', function(done) {
Entity.find().then(function(results) {
console.log('in database', results);
done();
}).catch(done);

});
});
});
});

但是测试数据库是空的。正在运行 barrels.populate在规范文件中并没有解决这个问题(尽管规范不会引发任何错误)。我对 Sails.js 的其他 fixture 解决方案持开放态度。谢谢。

最佳答案

The example you're referring to已针对新的 Barrels 进行了更新API 并且它正在通过测试。

否则,检查对象是否在fixtures中变量:如果它是空的,请确保您提供了正确的 JSON 文件路径(您正在传递 process.cwd() + '/tests/fixtures' ,但您的助手在 <Project>/test/specHelper.js 中,另外,您有 <Project>/tests/EntitySpec.js ;是 test 吗?或 tests ?)。

如果fixtures存在,请确保将正确的配置传递给 Sails.lift并且您的连接已正确配置(有关详细信息,请参见上述示例)。

关于testing - 使用桶设置 Sails 0.10.x 固定装置,但数据库中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25904974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com