PhpStorm: класс 'PhpUnit \ Framework \ TestCase' не найден (композитор / автозагрузка) - PullRequest
0 голосов
/ 04 сентября 2018

У меня проблема с PhpStorm, composer и PHPUnit.

  • Windows 8.1 Pro (64 бит)
  • PhpStorm обновлен: 2018.2.2
  • Пробовал разные интерпретаторы PHP, такие как XAMPP и чистый PHP для win
  • PHPUnit требуется композитору с: "phpunit/phpunit": "^7.3.3".
  • PHPUnit также успешно устанавливается через composer в каталог vendor.
  • PHPUnit распознается из PhpStorm:

enter image description here

Мой тестовый класс расширяет класс PhpUnit\Framework\TestCase, и при запуске теста происходит следующее:

enter image description here

Сначала кажется, что PhpStorm загружает старый PHPUnit (3.7.21) из PHP XAMPP, а не распознанный PHPUnit (7.3.3) в качестве настройки в настройках PhpStorm / устанавливается в папку vendor.

Но я так не думаю.

Я думаю, что PhpStorm пытается загрузить класс PhpUnit\Framework\TestCase автозагрузчиком, но я не знаю, почему он не находит PHPUnit ...

Заранее спасибо!


Весь проект можно свернуть до этого простого тестового класса:

enter image description here

composer.json выглядит следующим образом:

"autoload": {
  "psr-4": {
    "Flo\\Newsletter\\": "src/"
  }
},
"require": {
  "php": "^7.1"
},
"require-dev": {
  "phpunit/phpunit": "^7.3.3"
}

1 Ответ

0 голосов
/ 04 сентября 2018

Пространства имен чувствительны к регистру. Пожалуйста, измените PhpUnit на PHPUnit при импорте.

Хотя PhpStorm действительно может это обнаружить. Вот запрос функции для этого: https://youtrack.jetbrains.com/issue/WI-38140

...