Tôi đang trong quá trình học Node.js và đang phát xung quanh với Express. Thực sự thích khung công tác, tuy nhiên, tôi đang gặp khó khăn trong việc tìm ra cách viết một bài kiểm tra đơn vị/tích hợp cho một tuyến đường.Làm thế nào để một đơn vị kiểm tra các tuyến đường với Express?
Có thể thử nghiệm các mô-đun đơn giản dễ dàng và đã thực hiện nó với Mocha; tuy nhiên, 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 mà tôi truyền vào không giữ lại các giá trị.
Route-Function Under Test (tuyến/index.js):
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
Unit Test Module:
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 này, nó không thành công cho "Lỗi: phát hiện rò rỉ toàn cầu: viewName, dữ liệu ".
Tôi làm cách nào để tôi có thể làm việc này?
Có cách nào tốt hơn để tôi kiểm tra mã của tôi ở cấp này không?
Cập nhật 1. Đoạn Corrected đang kể từ khi tôi bước đầu quên "nó()".
Cảm ơn. Biết nó là một cái gì đó đơn giản. – JamesEggers