2
我一直试图让这个工作几天。我浏览过互联网和StackOverflow。有一些示例说明如何使用MongoDB测试API以及如何编写执行PSQL命令的Mocha测试。这不是我想要的。Mocha/Node.js/PostgreSQL集成测试
我创建了pg的包装,从指令称为db.js
in this SO question(注意我的电话意见console.log()
:
pg = require("pg");
config = require("./../config.js");
module.exports = {
query: function(text, values, cb) {
console.log("I get to this in Mocha");
pg.connect(config.connectionString, function(err, client, done) {
console.log("I never get here");
if (err) return console.error("error connecting to postgres: ", err);
client.query(text, values, function(err, result) {
console.log("I most certainly never get here");
done();
cb(err, result);
})
});
}
}
就这样,我可以做到以下几点:
$ node
$ var db = require ("./path/to/db.js");
$ db.query("insert into sometable(id, value) values(1, \"blah\")", {}, function (err, result) {
if (err) { console.error ("db errored out man"); }
console.log("no error...");
console.log(result);
});
信不信由你,即无故障运行!
我不能做的是同样的事情在一个mocha
测试(即db.spec.js
):
var db = require("./../../../Data/db.js");
// These tests assume you have run the scripts in the -SQL repo
describe("module: db", function() {
it("provides a wrapper for the execution of queries", function() {
db.query("insert into employer.profile \
(id, returncustomer, receiveupdates, name, email, password, active) \
values (4, true, true, 'someNameLol', '[email protected]', 'change_me', true)", {},
function (err, stdout, stderr) {
console.log(err || "");
console.log(stdout || "");
console.log(stderr || "");
}
);
});
});
帮助!我希望能够使用我的数据库连接编写集成测试。我缺少组件吗?必需的库?
这是全部手动滚动的,我没有使用IDE,因为我想了解它是如何由我自己工作的。
在此先感谢。
我知道我应该避免像“谢谢!”这样的评论。但是...谢谢你。 –
不客气:) –