使用sinon usefaketimers测试HapiJs路由会导致超时

时间:2020-03-30 14:57:19

标签: sinon hapi lab

我正在使用: HapiJs:17.3.1 诗乃:9.0.1 实验室:15.5.0 代码:5.2.1

我正在尝试使用Sinon usefaketimers设置测试期间的时间,以使从请求返回的时间戳与某些模拟数据匹配。

时间设置正确,但是问题是当我使用Sinon.useFakeTimers({requiredTime})时,server.inject在测试期间超时。

这是我的代码:

        this.clock = Sinon.useFakeTimers(1582185900000);

        Sinon.stub(server.methods, 'getHistory').resolves(TestResponse.getHistory);

        const request = { method: 'POST', url: '/api/v1/graph/history?minutes=5', payload };
        const response = await server.inject(request);

        expect(response.statusCode).to.equal(200);
        expect(response.result).to.equal(TestResponse.graphHistory);

        this.clock.restore();
        server.methods.getHistory.restore();

我需要的是API调用创建的响应,以使用与测试数据相同的时间戳。

如果我注释掉Sinon.useFakeTimers并将其在路由控制器中的时间戳手动设置为它通过的测试时间戳。因此,这必须与useFakeTimers有关。

0 个答案:

没有答案