Тестирование маршрутов Hapi с помощью Jest зависает, если тест не пройден - PullRequest
0 голосов
/ 13 мая 2018

Я работаю над тем, где я использую Hapi в качестве веб-сервера для REST API и использую Jest для модульного тестирования.Я только что настроил его для тестирования самих маршрутов REST - с помощью server.inject на созданном сервере Hapi.

Это работает фантастически, пока тесты проходят.Если тесты не пройдены, все запускается до завершения, но процесс не завершается.

Для справки мой тест выглядит следующим образом:

// @flow

import createServer from '../server';

describe('Hapi Healthchecks', () => {
    let server;

    beforeEach(async () => {
        server = await createServer();
    });

    test('Hapi Healthchecks respond correctly', async () => {
        const response = await server.inject({
            method: 'GET',
            url: '/health',
        });

        expect.assertions(1);
        expect(response.statusCode).toBe(200);
    });
});

createServer возвращает результат Glue.compose, так что это настроенный, но еще не запущенный сервер Hapi.Я не запускаю сервер в тестах - в этом нет необходимости, и поэтому нет вызова server.stop().Однако, если я добавлю один или оба из них, то это не имеет значения.

Пока тест проходит утверждение, все в порядке.Если по какой-либо причине тест не пройден, все остальное все еще выполняется, включая вызовы afterEach и afterAll, но процесс просто не может завершиться.

...