Tôi đang trong quá trình học Node.js và đã chơi với Express . Thực sự thích framework; tuy nhiên, tôi đang gặp khó khăn khi tìm cách viết một bài kiểm tra tích hợp / đơn vị cho một tuyến đường.
Có thể kiểm tra đơn vị các mô-đun đơn giản rất dễ dàng và đã được thực hiện với Mocha ; tuy nhiên, các bài kiểm tra đơn vị của tôi với Express không thành công vì đối tượng phản hồi tôi đang chuyển vào không giữ lại các giá trị.
Tuyến đường-Chức năng đang Kiểm tra (tuyến đường / index.js):
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
Mô-đun kiểm tra đơn vị:
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");
});
});
});
Khi tôi chạy điều này, nó không thành công vì "Lỗi: phát hiện rò rỉ toàn cầu: viewName, data".
Tôi đã sai ở đâu để tôi có thể làm việc này?
Có cách nào tốt hơn để tôi kiểm tra đơn vị mã của mình ở cấp độ này không?
Cập nhật 1. Đoạn mã đã sửa vì ban đầu tôi quên "it ()".