Как я могу уменьшить повторение кода в этих действиях до / после? - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь провести интеграционное тестирование с реальной базой данных, и я новичок в jest и knex ..

Вот что у меня есть:

describe('FooRepository', () => {
  let dbName;
  let conn;

  beforeAll(async () => {
    conn = getConnection();
    dbName = cryptoRandomString({ length: 5, characters: 'abcdefghijklmnopqrstuvwxyz' });
    await conn.raw(`CREATE DATABASE ${dbName}`);
    Model.knex(conn);
  });

  afterAll(async () => {
    await conn.raw(`DROP DATABASE ${dbName}`);
    await conn.destroy();
  });

  beforeEach(async () => {
    await conn.migrate.latest();
  });

  afterEach(async () => {
    await conn.migrate.rollback();
  });

  describe('getFooByID', () => {
    // test getFooByID()
  })
})

Как можно Я помещаю это dbName, conn, и те до / после действий в где-то многоразового использования? Спасибо

1 Ответ

0 голосов
/ 17 января 2020

Вы можете использовать globalSetup и globalTeardown для настройки глобальных параметров, которые можно использовать в разных тестах. Больше информации здесь -

https://jestjs.io/docs/en/configuration#globalsetup -строка

...