Тесты nodejs случайно проваливаются на CircleCI - PullRequest
0 голосов
/ 04 октября 2018

Мы создаем приложение, используя nodejs , и пишем для него асинхронные тесты, используя Jest .Есть проблема, с которой мы столкнулись некоторое время в отношении тестов;иногда тесты на CircleCI терпят неудачу, а иногда они проходят.И да, мы используем метод async / await , чтобы дождаться выборки данных в первую очередь, прежде чем делать утверждение.Вот фрагмент из файла тестов:

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);
});

И эта ошибка была выдана CircleCI в отношении этого блока теста: TypeError: Cannot read property 'trips' of undefined

1 Ответ

0 голосов
/ 04 октября 2018

Должно быть больше, чем эта ошибка.т. е. некоторые неудавшиеся запросы или содержимое ответа, который вы получаете от сервера.

Что вы можете сделать, это сначала записать содержимое getResp или getResp.body.затем проверьте, возвращает ли ваш запрос правильные результаты в кружке ci.

Вы можете войти в систему через ssh, чтобы обвести кружком ci, чтобы выполнить отладку, выполнив этот шаг, изложенный здесь.https://circleci.com/docs/2.0/ssh-access-jobs/ в зависимости от того, используете ли вы кружок ci 1 или два.

Только тогда вы сможете узнать причину ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...