Потому что выполнение моего теста занимает много времени? phpunit и laravel

#laravel #docker-compose #phpunit

#laravel #docker-compose #phpunit

Вопрос:

У меня система загружена в контейнер docker, я создал тест в папке feature, тест простой:

 public function testExample(){
  $this->assertTrue(false);
}
  

но это занимает до 2-3 минут, а если я выполняю более масштабный тест, то на каждый тест уходит от 6 до 7 минут. Не настроен ли я неправильно? в моем docker?
на этот раз это занимает 3,8 минуты

введите описание изображения здесь

Таким образом, я запускаю тест

 docker-compose exec myProject vendor/bin/phpunit tests/Feature/Http/Controllers/testing/TestController
  

Комментарии:

1. Похоже, что ваши тесты завершаются неудачей, каковы сообщения о сбое?

2. о да, это не удается, потому что я передаю false в assertTrue() , и даже если результат успешный, это занимает так много времени

3. Да, это определенно не должно было занять так много времени. Немного сложно понять, почему это занимает так много времени. Что я замечаю в своих проектах, так это то, что данные о покрытии значительно замедляют тесты. Вы работаете с данными покрытия по умолчанию? Если ваш проект содержит много файлов, то это может быть одной из причин. Вы можете попробовать запустить тест вне вашего контейнера docker, чтобы посмотреть, ускорит ли это его выполнение за секунду, чтобы узнать, действительно ли это проблема docker. Может быть, в вашем docker есть тома, которые замедляют какие-либо тесты?