У меня есть маршрут
app.get("/test", myControllers.controllerTest)
Контроллер проверяет текущее время как результат запроса
мой тестовый файл маршрута
describe.("GET /test", () => {
it("should return correct response", done => {
sinon.stub(myControllers, "controllerTest").yields(null, {time:'fake-time'});
app = require("../../server");
chai
.request(app)
.get("/test")
.then(res => {
expect(res.status).to.equal(200);
expect(myControllers.controllerTest).to.have.been.calledOnce;
done();
})
.catch(err=>{
done(err)
});
});
});
Тест не пройден, он сообщаетмне маршрут вернулся 404 вместо 200 после того, как я заглушить обратный вызов.
обратите внимание, что использование spy
вместо stub
работает. Но в этом случае мне нужно использовать stub
Что мне не хватает?
ОБНОВЛЕНИЕ
При заглушении обратного вызова я получаю сообщение об ошибкеcannot get /route
, это как обратный вызов не существует. это то же самое, что выполнить app.get('/test')
Кто-нибудь знает, как заглушить обратный вызов?