При написании тестов для моего пакета Laravel я наткнулся на что-то странное. Мои пустые тесты проходили вместо помеченных как «Рискованные».
Дальнейшие исследования привели меня к классу PendingCommand
, который имеет метод run()
, который делает утверждение в коде выхода команды. Это PendingCommand
было создано путем вызова $this->astisan('migrate:fresh')->run()
. Мне удалось пропустить это утверждение, вызвав assertExitCode(null)
перед выполнением команды. Это сработало, но все еще происходит утверждение.
Кто-нибудь имел эту проблему раньше и / или мог предотвратить утверждение до того, как будет выполнен фактический тест?
Было бы приятно увидеть какие утверждения делаются, но я не смог этого найти. Единственное, что я смог найти, это то, что класс Assert
хранит $count
всех сделанных утверждений, а не какое.
Я продолжу поиск решения и опубликую мои выводы на этот вопрос.