Я использую HapiJs с лабораторными тестами.
В моих контроллерах я использую request.log при возникновении ошибки:
getData = async (request, h) => {
try{
//code
}
catch(err){
request.log('error', 'An error has occurred: ' + err);
}
}
В моем тесте я хочу убедиться, что request.log был вызван.
it('should log an error if an error occurs', async function () {
let server = new Hapi.Server();
server.route(pluginRoutes);
let request = { method: 'GET', url: '/api/getData' };
Sinon.spy(request, 'log');
// stub throws error
const response = await server.inject(request);
expect(request.log.calledOnce).to.equal(true);
request.log.restore();
});
Запрос передается при вызове server.inject, поэтому я попытался добавить функцию log к моему объекту запроса и присвоить ему заглушку, но Hapi выдает ошибку проверки.
Я не могу быть единственным, кто пытается это сделать?
Есть идеи?