我正在使用pg-promise。我是学习者,请原谅,如果它似乎微不足道。我该如何为单元测试。它错误的数据是不确定的。我一直在js文件中进行连接并导出该模块。另一个js文件用于查询数据库和读取结果集。代码正在按预期工作有问题我怎么能写摩卡和柴单元测试。我应该如何做异步单元测试?
test1.js
var dbConn= pgp(connUrl);
module.exports = {
getconnect: function() {
return dbConn;
}
};
test2.js
module.exports = {
getData: function (req, res) {
db.getconnect().query(sqlStr, true)
.then(function (data) {
console.log("DATA:", data);
return data;
} } }
unittest.js
describe("Test Cases", function (done) {
it('retrieve response', function (done) {
var req = {};
var res = {};
test2.getData(req, res);
// how would i retrieve value of data from test2.js so i can test
done();
});
});
我如何将检索 “数据” 值从test2.js在矿井unittest.js
@维塔利吨。你能否建议我应该如何编写单元测试? – aka
你应该问的正确的问题 - 如何编写异步库的测试。这与pg-promise无关。同时,你可以看看[pg-promise tests](https://github.com/vitaly-t/pg-promise/tree/master/test)作为例子,它们是图书馆自己测试的方式。 –
奇怪的是,你有一个异步函数只记录一个输出,但别的什么都不做。如果输出到stdout是重要的,那么测试一下,不要测试该函数,因为该函数没有返回任何值使其无法测试。我个人将这个特定的测试写成bash脚本,因为这是最简单的方法。如果你必须用js编写它,然后按照你写bash脚本的方式写它:exec脚本并grep它的stdout。 – slebetman