Тесты должны быть независимыми
Юнит-тесты должны быть независимыми по определению. Всё необходимое инициализируется в блоке Arrange и утилизируется из памяти после Assert. Использовать в юнитах
Тесты, работающие с общим состоянием, должны после выполнения возвращать его в исходную точку. Для этого можно использовать in-memory хранилища или откатывать транзакции.
Чтобы защитить себя от неявных зависимостей между тестами, следует запускать их в случайном порядке. Для этого прописываем
Юнит-тесты должны быть независимыми по определению. Всё необходимое инициализируется в блоке Arrange и утилизируется из памяти после Assert. Использовать в юнитах
setUp
/ tearDown
я не рекомендую.Тесты, работающие с общим состоянием, должны после выполнения возвращать его в исходную точку. Для этого можно использовать in-memory хранилища или откатывать транзакции.
Чтобы защитить себя от неявных зависимостей между тестами, следует запускать их в случайном порядке. Для этого прописываем
<phpunit executionOrder="random">
в phpunit.xml или выполняем phpunit с флагом --order-by=random
.