Я не уверен, что это сработает для вас ... когда я столкнулся с этим, я разработал библиотеку "обеспечить ..."
методы, которые проверяют состояние определенного объекта в базе данных и вынуждают его находиться в этом состоянии, если это не так. Каждый тест отвечает за установку, которая «гарантирует», что все, что ему нужно, есть.
Кроме того, есть некоторые глобальные аспекты, которые не проверяются каждым тестом, потому что они занимают много времени и не модифицируются тестами - они обычно устанавливаются в начале запуска автоматизированного пакета, и обычно не используется для отдельных тестовых прогонов. Если отдельные тесты прерываются из-за проблемы, которая выглядит так, как будто она может быть частью этой настройки, я просто запускаю ее вручную.
Это было не то, что я просто решил сделать однажды, а потом сделал все это. Я медленно исправлял тесты, поскольку мне приходилось работать с ними иначе - часто потому, что они ломались из-за проблемы, которую вы описали. Библиотека «обеспечить ...» тоже развивалась постепенно - ничего не вставлялось до тех пор, пока она не понадобилась.
Надеюсь, это поможет!