У меня есть сервер Hapi JS с маршрутами, это мой сервер Hapi js
const Hapi = require('hapi');
import { Users } from './users';
const port 3000;
const server = new Hapi.Server();
server.connection({ port });
export async function HapiServer() {
server.route([
{
method: 'GET',
path: '/getUsers',
config: {
handler: async (req: any, reply: any) => {
try {
await Users.getUsers(req.params.id)
.then((result) => {
reply(result);
});
} catch (error) {
reply(error);
}
},
},
},
]);
await server.start();
console.log('server running at', server.info.port);
}
HapiServer();
Я использую Мокко и Чай для проведения модульного тестирования следующим образом:
'use strict';
import { should } from 'chai';
import { HapiServer } from '../../server';
const chai = require('chai');
const chaiHttp = require('chai-http');
chai.use(chaiHttp);
describe('testing users ', () => {
it('can get all users', async (done) => {
const result = await chai
.request(HapiServer)
.get(/getUsers)
.then((error, response) => {
if (error) { done(error); }
response.should.have.status(200);
done();
}).catch(done);
});
});
Когдазапускать тест всегда так:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (./server.test.ts)
Я уже пытаюсь изменить конфигурацию mocha в package.json
mocha --timeout 10000
Что я могу сделать не так?Я понимаю, что Мокко поддерживает обещания.