Я согласен с утверждением, что общий ответ "не делай этого" является плохим ответом.
У меня похожая ситуация, когда у меня один источник данных, и один тест уничтожит набор данных, что приведет к сбою других тестов.
Мое решение заключалось в использовании переменных среды операционной системы в моемBamboo server ...
(1) Проверка функциональности «очистка данных» начинается с цикла while, который проверяет состояние переменной среды «BLOCK_DATA_PURGE».Если переменная «BLOCK_DATA_PURGE» больше нуля, цикл запишет запись в журнал о том, что он спит 1 секунду.Когда «BLOCK_DATA_PURGE» имеет нулевое значение, выполнение переходит к проверке функциональности очистки.
(2) Любой модульный тест, для которого нужны данные в таблице, просто увеличивает значение «BLOCK_DATA_PURGE» в начале (в setup ()) и уменьшает ту же переменную в teardown ().
Эффект этого состоит в том, чтобы позволить различным потребителям данных блокировать функциональность очистки до тех пор, пока им нужно, не опасаясь, что очистка может быть выполнена между тестами.Фактически операция очистки переносится на последний шаг ... или, по крайней мере, на последний шаг, который требует исходного набора данных.
Сегодня я собираюсь расширить это, чтобы добавить больше функциональности, чтобы позволить некоторым тестам REQUIRE_DATA_PURGE.Это эффективно инвертирует описанный выше процесс, чтобы гарантировать, что эти тесты будут выполняться только после очистки данных для проверки восстановления данных.