Node.js测试在CircleCI上随机失败

时间:2018-10-04 09:11:01

标签: node.js jestjs

我们正在使用 nodejs 构建应用程序,并使用 Jest 为其编写异步测试。关于测试,我们已经遇到了一段时间。有时,CircleCI上的测试失败,而其他时候则通过。是的,我们正在使用 async / await 方法来等待在断言之前首先获取数据。这是测试文件的摘录:

for(auto& point : *(points.get())) {
        std::cout << "Point x "<<point.x << " "<< point.y<<"\n";
}

这是CircleCI在此测试块方面引发的错误: it('should return the expected number of trips', async () => { const postResp = await request(app) .post('/api/v1/requests') .set('authorization', token) .send(mockRequest); const createdRequestId = postResp.body.request.id; const getResp = await request(app) .get(`/api/v1/requests/${createdRequestId}`) .set('authorization', token); expect(getResp.body.requestData.trips).toHaveLength(2); });

1 个答案:

答案 0 :(得分:0)

除了这个错误之外,还必须有更多其他内容。即某些失败的请求或您从服务器获取的响应内容。

您可能想要做的是首先记录getResp或getResp.body的内容。然后检查您提出的请求是否在圆环ci中返回正确的结果。

您可以通过ssh登录以圈出ci,以便按照此处列出的步骤进行调试。 https://circleci.com/docs/2.0/ssh-access-jobs/取决于您是否使用的是第1或第2圈。

只有这样您才能知道错误原因