Javascript Mocha/Node.js/PostgreSQL集成测试
几天来,我一直在努力让它发挥作用。我已经浏览了互联网和StackOverflow。这里有一些示例说明如何使用MongoDB测试API,以及如何编写执行PSQL命令的Mocha测试。那不是我想要的 我根据说明为创建了一个包装,名为Javascript Mocha/Node.js/PostgreSQL集成测试,javascript,node.js,postgresql,Javascript,Node.js,Postgresql,几天来,我一直在努力让它发挥作用。我已经浏览了互联网和StackOverflow。这里有一些示例说明如何使用MongoDB测试API,以及如何编写执行PSQL命令的Mocha测试。那不是我想要的 我根据说明为创建了一个包装,名为db.js(请注意我在调用console.log()中的注释): 有了这些,我可以做到以下几点: $ node $ var db = require ("./path/to/db.js"); $ db.query("insert into sometable(id, va
db.js
(请注意我在调用console.log()
中的注释):
有了这些,我可以做到以下几点:
$ 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
):
帮助!我希望能够使用数据库连接编写集成测试。是否缺少组件?必需的库
这一切都是手工完成的,我没有使用IDE,因为我想了解自己应该如何工作
提前感谢。您需要包括
done
参数,并在测试结束时调用它
describe("module: db", function() {
it("provides a wrapper for the execution of queries", function (done) {
db.query("insert into employer.profile \
(id, returncustomer, receiveupdates, name, email, password, active) \
values (4, true, true, 'someNameLol', 'ce@spam.org', 'change_me', true)", {},
function (err, stdout, stderr) {
console.log(err || "");
console.log(stdout || "");
console.log(stderr || "");
done();
}
);
});
});
我知道我应该避免像“谢谢”这样的评论,但是…谢谢。
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', 'ce@spam.org', 'change_me', true)", {},
function (err, stdout, stderr) {
console.log(err || "");
console.log(stdout || "");
console.log(stderr || "");
}
);
});
});
describe("module: db", function() {
it("provides a wrapper for the execution of queries", function (done) {
db.query("insert into employer.profile \
(id, returncustomer, receiveupdates, name, email, password, active) \
values (4, true, true, 'someNameLol', 'ce@spam.org', 'change_me', true)", {},
function (err, stdout, stderr) {
console.log(err || "");
console.log(stdout || "");
console.log(stderr || "");
done();
}
);
});
});