我有一個簡單的數據訪問節點文件,它似乎工作在我的手動測試。代碼在這裏:訪問Mongo從摩卡測試節點
(function() {
var mongojs = require("mongojs");
var uuid = require("node-uuid");
var db = mongojs("tradeAssistant", ["tickers"]);
function insertTicker(tickerSymbol) {
if (tickerSymbol) {
var ticker = db.tickers.findOne({
symbol: tickerSymbol
});
if (!ticker) {
console.log("inserting " + tickerSymbol);
db.tickers.insert({
_id: uuid.v4(),
symbol: tickerSymbol,
isNew: true
}, function(err, data) {
console.log("back from db.tickers.insert");
});
}
}
}
exports.addTickers = function addTickers(tickers, callback) {
if (tickers) {
for (var i = 0; i < tickers.length; i++) {
insertTicker(tickers[i].toUpperCase());
}
}
callback(null, null);
};
exports.fetchTickers = function fetchTickers(query, callback) {
var results = [];
if (!query) {
query = {}
};
db.tickers.find(query, function(err, docs) {
if (!err) {
for (var i = 0; i < docs.length; i++) {
results.push(docs[i]);
}
}
callback(err, results);
});
}
})();
正如我所說,該代碼似乎工作。我試圖建立一些摩卡集成測試,但他們沒有工作。當我開始深入調試時,我發現mongo根本不能在摩卡里面工作。不太確定我錯過了什麼。
(function() {
var mongojs = require("mongojs");
var should = require("should");
var db = mongojs("tradeAssistant", ["tickers"]);
//var tickerData = require("../../mongoDataAccess/tickersAccess");
describe("tickerAccess.addTickers()", function() {
it("test 1", function() {
db.tickers.insert({
symbol: "DIA",
isNew: true
}, function(err, data) {
console.log("hello world");
});
});
});
})();
我是新來的Node,所以如果你看到其他需要「修復」的東西,請不要害羞。但更重要的是,如果mongo看起來不適合摩卡,任何人都可以提供幫助,我將不勝感激。我沒有錯誤; mongo日誌文件中沒有任何內容,我的console.log()永遠不會被調用。
在此先感謝您的幫助。
維克
您如何運行測試文件? – lxe
很好的問題。從命令行,我使用摩卡 - 遞歸。而已。根據摩卡測試「通過」,但沒有任何反應。 –