Ошибка: не удается установить заголовки после того, как они отправлены с Чай и Мокко - PullRequest
0 голосов
/ 15 мая 2018

Я тестирую с Mocha и Chai с Express, но я продолжаю получать эту ошибку при тестировании двух маршрутов обработки ошибок.Тест все еще проходит, но я все еще получаю сообщение об ошибке.Не уверен, как обработать это в тесте

describe.only('allYears services', () => {
  beforeEach(async () => {
    await db.sequelize.sync({force: true, logging: false});
  });

  it('should response with 400 when missing gaugeId or classId', async () => {
    await chai
      .request(app)
      .post('/api/allyears/getBoxPlotAttributes')
      .send({metric: 'average'})
      .catch(err => {
        assert.equal(err.response.status, 400);
      });
  });

  it('should response with 400 when missing metric', async () => {
    await chai
      .request(app)
      .post('/api/allyears/getBoxPlotAttributes')
      .send({gaugeId: 123456})
      .catch(err => {
        assert.equal(err.response.status, 400);
      });
  });
});

Я получаю следующее сообщение об ошибке:

(узел: 95031) UnhandledPromiseRejectionWarning: Необработанное отклонение обещания (идентификатор отклонения: 1): Ошибка: невозможно установить заголовки после их отправки.

1 Ответ

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

Убедитесь, что вы возвращаете, например.res.status(200).send({ something });

Это даст вам ошибку при тестировании с Mocha + Chai:

if (isInvalid(req)) {
  res.status(400).send({ success: false, message: 'invalid request' });
}

Это работает нормально:

if (isInvalid(req)) {
  return res.status(400).send({ success: false, message: 'invalid request' });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...