我正在學習Node.js,並且一直在玩Express。真的很喜歡這個框架;但是,我很難弄清楚如何編寫路由的單元/集成測試。單元測試如何使用Express路由?
能夠單元測試簡單的模塊很容易,並已與Mocha;然而,我的單元測試Express失敗,因爲我傳入的響應對象不保留這些值。
路由的作用下測試(路由/ index.js):
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
單位測試模塊:
var should = require("should")
, routes = require("../routes");
var request = {};
var response = {
viewName: ""
, data : {}
, render: function(view, viewData) {
viewName = view;
data = viewData;
}
};
describe("Routing", function(){
describe("Default Route", function(){
it("should provide the a title and the index view name", function(){
routes.index(request, response);
response.viewName.should.equal("index");
});
});
});
當運行此,它失敗爲「錯誤:檢測到全局泄漏:viewName,data「。
我在哪裏出錯了,以便我可以得到這個工作?
有沒有更好的方法讓我在這個級別單元測試我的代碼?
更新 1.更正代碼段,因爲我最初忘記 「它()」。
謝謝。知道這是簡單的事情。 – JamesEggers 2012-03-01 14:41:18