我正在使用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