मैं Node.js सीखने की प्रक्रिया में हूं और एक्सप्रेस के साथ खेल रहा हूं । वास्तव में रूपरेखा की तरह; हालांकि, मुझे यह पता लगाने में कठिनाई हो रही है कि किसी रूट के लिए यूनिट / इंटीग्रेशन टेस्ट कैसे लिखें।
इकाई परीक्षण सरल मॉड्यूल के लिए सक्षम होना आसान है और मोचा के साथ कर रहा है ; हालाँकि, एक्सप्रेस के साथ मेरा यूनिट परीक्षण विफल रहता है क्योंकि मैं जिस प्रतिक्रिया ऑब्जेक्ट से गुजर रहा हूं वह मूल्यों को बनाए नहीं रखता है।
रूट-फंक्शन अंडर टेस्ट (मार्गों / 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");
});
});
});
जब मैं इसे चलाता हूं, तो यह "त्रुटि: वैश्विक लीक का पता लगाया: दृश्यनाम, डेटा" के लिए विफल रहता है।
मैं कहां गलत हो रहा हूं ताकि मुझे यह काम मिल सके?
क्या मेरे लिए इस स्तर पर अपने कोड का परीक्षण करने का एक बेहतर तरीका है?
अद्यतन 1. सही कोड स्निपेट के बाद से मैं शुरू में इसे "भूल गया" ()।