лазать в реальную бд? Ну вот я хотел бы проверить что корректно отработали операции вставки и получения данных.
верно ли я понимаю, что тесты синхронно выполняются и после каждого теста таблиц очищаются?
Каким образом сама БД поднимается...? Отдельным скриптом на CICD или прямо из кода?
не опасно лазать в реальную бд на тестах?
Вы можете отдельно держать запущенную бд и в тесте просто брать к ней коннект. Или например sqllite in memory запускать и в ней делать все запросы
в гитлабе сервисом например
Мне кажется, что тесты должны не синхронно выполняться, в реальности же не синхронно все работает ) Можно 1 таблицу создать для всех тестов, просто проверять IsIn при инсерте, а в конце всех тестов дропать таблицу
1) тесты в которой участвует БД выполняются синхронно 2) каждый тест при этом не должен зависеть от другого, т.е. после каждого теста данные в БД должны очищаться и перед каждым тестом должны наполняться отдельно 3) на CI/CD обычно поднимается сервис с БД и накатываются миграции, тут ничего сложного 4) по опыту тесты прогоняются быстрее если перед тестом запускать транзакцию, а после теста ее откатывать (+ таким образом не надо думать какие таблицы очищать после теста)
Обсуждают сегодня