Jest - последовательное выполнение блока описания - PullRequest
0 голосов
/ 28 января 2019

Я выполняю блок description () с помощью jest.между каждым test () я хотел бы выполнить код синхронно, например:

describe('matching cities to foods', () => {
  // Applies only to tests in this describe block
  beforeEach(() => {
    return initializeFoodDatabase();
  });
  
  const city = getCity();
  
  test('Vienna <3 sausage', () => {
    expect(isValidCityFoodPair(city, 'Wiener Schnitzel')).toBe(true);
  });
  
  let city2 = getCity2();

  test('San Juan <3 plantains', () => {
    expect(isValidCityFoodPair(city2, 'Mofongo')).toBe(true);
  });
});

function getCity(){
  return 'Vienna';
}

function getCity2(){
  return 'San Juan';
}

Я хочу, чтобы код выполнялся в следующей последовательности:

  1. beforeEach
  2. getCity
  3. test
  4. getCity2
  5. test

В настоящее время вызовы функций между тестами выполняются асинхронно.Как можно выполнить это последовательно?

1 Ответ

0 голосов
/ 28 января 2019

Может быть, вы неправильно поняли beforeEach.Блок beforeEach будет вызываться несколько раз перед каждым test().Таким образом, в вашем случае, чтобы выполнить тесты в следующей последовательности:

  1. beforeEach
  2. getCity
  3. test1
  4. getCity2
  5. test2

Вместо этого можно использовать beforeAll, а затем вызвать getCity() и getCity2() в соответствующем тестовом блоке, например так:

describe('matching cities to foods', () => {
  // Applies only to tests in this describe block
  beforeAll(() => {
    return initializeFoodDatabase();
  });

  test('Vienna <3 sausage', () => {
    const city = getCity();
    expect(isValidCityFoodPair(city, 'Wiener Schnitzel')).toBe(true);
  });


  test('San Juan <3 plantains', () => {
    const city2 = getCity2();
    expect(isValidCityFoodPair(city2, 'Mofongo')).toBe(true);
  });
});

Проверьте документы для получения дополнительной информации: https://jestjs.io/docs/en/setup-teardown

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