Я новичок в тестировании и еще новичок в Синон.
Здесь у меня настроен экспресс-маршрут:
import context = require("aws-lambda-mock-context");
this.router.post('/', this.entryPoint);
public entryPoint(req: Request, res: Response, next: NextFunction) {
const ctx = context();
alexaService.execute(req.body, ctx);
ctx.Promise
.then((resp: Response) => res.status(200).json(resp))
.catch((err: Error) => res.status(500));
}
Моя цель — проверить правильность выполнения почтового вызова /
. Мой тестовый сценарий:
describe('/POST /', () => {
it('should post', () => {
chai.request(app)
.post('/v2')
.end((err, res) => {
expect(res).to.be.ok;
});
});
});
Хотя мой тест проходит успешно, он возвращает status: 500
из-за того, что const ctx = context()
не распознается. Есть ли подходящий/правильный способ шпионить за переменной ctx
и возвращать фиктивную переменную в моем тесте с использованием Sinon? Я так долго крутил здесь свои колеса.