Обновление экземпляра экспресс-сервера во время тестирования узла mocha / chai-http / экспресс-приложения - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь протестировать поток операций запрос-ответ сервера API.

Я пишу тесты сверху вниз, чтобы смоделировать последовательность запросов, которые сделает клиент. Однако я сталкиваюсь с проблемой, когда дважды запрашиваю один и тот же URL-адрес (конечная точка регистрации) и получаю следующую ошибку:
Error: Can't set headers after they are sent.

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

некоторый код:

describe('register -> login -> order', () => {
  const userToAdd = {
    username: `martin-Skope`,
    password: `blabla`,
    email: `nyet@pillow.me`
  };
   it('should not register user with unfilled requirements', () => {
     chai
       .request(server)
       .post(`${ROOT_URL}/users/register`)
       .send(Object.assign({}, userToAdd, { password: undefined }))
       .end((err, res) => {
          expect(res.status).eq(400);
       });
   });

   /*
    * REFRESH/RECREATE SERVER HERE
   */

  it('Should register new user', () => {
    chai
      .request(server)
      .post(`${ROOT_URL}/users/register`)
      .send(userToAdd)
      .end((err, res) => {
        expect(res.status).eq(201);
      });
  });

  it('Should save user to datastore', () => { 
    expect(Boolean(users.findByUsername(userToAdd.username))).eq(true);
  });  -----> more tests
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...