Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mocha/Node.js/PostgreSQL集成测试_Javascript_Node.js_Postgresql - Fatal编程技术网

Javascript Mocha/Node.js/PostgreSQL集成测试

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

几天来,我一直在努力让它发挥作用。我已经浏览了互联网和StackOverflow。这里有一些示例说明如何使用MongoDB测试API,以及如何编写执行PSQL命令的Mocha测试。那不是我想要的

我根据说明为创建了一个包装,名为
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();
            }
        );
    });
});