Я участвую в процессе обучения Node.js и играю с Express. На самом деле, как структура, однако, мне трудно понять, как написать тест unit/integration для маршрута.
Возможность unit test простых модулей легко и делала это с Mocha; однако мои модульные тесты с ошибкой Express, поскольку объект ответа, который я передаю, не сохраняет значения.
Функция маршрута в тесте (routes/index.js):
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
Unit Test Модуль:
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");
});
});
});
Когда я запускаю это, он терпит неудачу для "Ошибка: обнаружены глобальные утечки: имя_поиска, данные".
-
Где я ошибаюсь, чтобы я мог работать?
-
Есть ли лучший способ для меня unit test моего кода на этом уровне?
Обновление 1. Исправленный фрагмент кода, поскольку я изначально забыл "it()".