alex4answ
@alex4answ

Как тестировать jest + sequelize?

Добрый день, кряхчу пытаюсь написать интеграционные тесты.
Когда дело дошло до бд, появились проблемы, потому что sequelize.sync({ force: true }); то работает, то нет, рандом.

сейчас файлы с тестами выглядят вот так:
const CategoryModel = require('../CategoryModel'); // sequelize model

beforeAll(async () => {
  await CategoryModel.sync({ force: true });
  await CategoryModel.bulkCreate([ /* массив данных для вставки */ ]);
});

// далее сами тесты ...

Но sequelize ведет себя крайне странно, рандомно выводит эти ошибки:
1. bulkCreate() - [SequelizeDatabaseError]: Table 'shop_test.categories' does not exist
2. bulkCreate() - [SequelizeUniqueConstraintError]: Validation error. (Duplicate entry 'spoons' for key 'categories.slug')

Как такое возможно? ведь метод .sync с force: true удаляет таблицу, затем создает ее по схеме

jest запускаю с флагами:
"test": "jest --runInBand --detectOpenHandles"
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы