如果测试失败,使用Jest测试Hapi路由会挂起

时间:2018-05-13 19:02:34

标签: node.js jestjs hapijs

我正在开发一些我正在使用Hapi作为REST API的Web服务器的东西,我正在使用Jest进行单元测试。我只是将其设置为自己测试REST路由 - 在创建的Hapi服务器上使用server.inject

只要测试通过,这就非常有效。如果测试失败,那么一切都会完成,但过程不会终止。

供参考,我的测试如下:

// @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()。但是,如果我添加其中一个或两个,那么它没有任何区别。

只要测试通过断言,那么一切都很好。如果测试因任何原因失败,那么其他所有内容仍会运行 - 包括afterEachafterAll调用,但该过程无法退出。

对于我所缺少的任何建议,以使其正常工作?

0 个答案:

没有答案