Проблемы при параллельной работе тестов и правда могут быть вызваны не продуманной архитектурой приложения. Но тут мы говорим не об этом. Мы рассматриваем ситуацию когда из-за параллельного запуска нарушается изоляция тестов, из-за этого тест не может корректно проверить юзкейс или запуститься.
Например, есть два теста один проверяет создание записи в базе, а другой проверяет ошибку, возникающую при попытке получить не существующие запись. Если первый тест создаст запись раньше и не успеет очистить ее после себя, второй найдет ее и юзкейс с ошибкой не будет проверен.
Также стоит сказать, что для тестирования сложной бизнес-логики часто приходится создавать окружение с помощью вызова фикстур или фабрик. Если мы запустим в параллель два теста, использующих одинаковое окружение, то при попытке дважды создать одно и тоже окружение (одни и те же записи в базе для тестов), могут возникнуть ошибки.
Например, у тебя переиспользуется фикстура которая создает запись с уникальным полем. Тогда один из тестов, работающих параллельно просто не запустится, тк не сможет применить фикстуру.
Привет.
Проблемы при параллельной работе тестов и правда могут быть вызваны не продуманной архитектурой приложения. Но тут мы говорим не об этом. Мы рассматриваем ситуацию когда из-за параллельного запуска нарушается изоляция тестов, из-за этого тест не может корректно проверить юзкейс или запуститься.
Например, есть два теста один проверяет создание записи в базе, а другой проверяет ошибку, возникающую при попытке получить не существующие запись. Если первый тест создаст запись раньше и не успеет очистить ее после себя, второй найдет ее и юзкейс с ошибкой не будет проверен.
Также стоит сказать, что для тестирования сложной бизнес-логики часто приходится создавать окружение с помощью вызова фикстур или фабрик. Если мы запустим в параллель два теста, использующих одинаковое окружение, то при попытке дважды создать одно и тоже окружение (одни и те же записи в базе для тестов), могут возникнуть ошибки.
Например, у тебя переиспользуется фикстура которая создает запись с уникальным полем. Тогда один из тестов, работающих параллельно просто не запустится, тк не сможет применить фикстуру.