Я делаю юнит-тест с Синоном, чтобы хотя бы попытаться что-то пройти, и мне не повезло. Я не смог ничего найти в Интернете.
У меня 2 проблемы:
1) Я пытаюсь получить простой ответ, но он не может сказать, что spy
- это false
. Когда я регистрирую это, он говорит, что это true
.
2) Я хочу проверить шаблон в функции обратного вызова, равной «Новый заголовок». Я не могу понять, как передать req, res и next в router.get
router.js
const express = require('express'), router = express.Router();
router.get('/', (req, res, next) => {
var template = {
title: req.title,
item: req.item,
description: 'N/A'
};
res.render('index', template);
module.exports = router;
});
router.spec.js
const router = require('./router');
var res = {};
var req = {
title: 'New Title',
item: 'Blank Item'
};
var template = {
title: req.title,
item: req.item,
description: 'N/A'
};
it('1) should call the response', ()=>{
var spy = sinon.spy(route, 'get');
route.get('/', ()=>{});
console.log(spy.calledOnce); // equals true
assert(spy.calledOnce).toBeTruthy();
spy.restore();
});
it('2) should return a status 200', ()=>{
var stub = sinon.stub().yield([req, res, next]);
route.get('/', stub); // main problem
assert.equal(200, res.statusCode);
stub.restore();
});
Я хочу получить доступ к обработчику маршрута, чтобы я мог провести дальнейшее тестирование. Где и как я могу реализовать обработку маршрутов в этой ситуации?