Node.js öğrenme sürecindeyim ve Express ile uğraşıyorum . Gerçekten çerçeve gibi; ancak, bir rota için nasıl birim / entegrasyon testi yazacağımı bulmakta zorlanıyorum.
Basit modülleri birim test edebilmek kolaydır ve bunu Mocha ile yapıyoruz ; ancak, geçtiğim yanıt nesnesi değerleri korumadığından Express ile birim testleri başarısız oluyor.
Test Altındaki Yol İşlevi (yollar / index.js):
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
Birim Test Modülü:
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");
});
});
});
Bunu çalıştırdığımda, "Hata: genel sızıntılar algılandı: görünümAdı, veri" hatası veriyor.
Bunu çalıştırabilmek için nerede yanlış yapıyorum?
Kodumu bu seviyede birim test etmenin daha iyi bir yolu var mı?
Güncelleme 1. "it ()" yi ilk başta unuttuğumdan beri düzeltilmiş kod pasajı.