Я нахожусь в процессе написания некоторых тестов PHPUnit в Prophecy со следующим кодом:
public function testItBuildsAndPersistsEnclosure()
{
$em = $this->prophesize(EntityManagerInterface::class);
}
, который дает мне следующий вывод:
PHPUnit 6.5.14 by Себастьян Бергман и авторы.
Тестовый проект Test Suite E.
2/2 (100%)
Время: 105 мс, Память: 6,00 МБ
Был 1 ошибка:
1) Tests \ AppBundle \ Service \ EnclosureBuilderServiceProphecyTest :: testItBuildsAndPersistsEnclosure Ошибка: класс 'Prophecy \ Prophet' не найден
Я немного новичок в PHPUnit и тестировании в общем, но, насколько я понимаю, PHPUnit должен иметь встроенную поддержку 1020 * для использования Prophecy, что делает ошибку, приведенную выше, действительно удивительной.
Я пытался установить phpspec / prophecy , но этот процесс завершился неудачно, как показано ниже:
composer require phpspec/prophecy
Using version ^1.10 for phpspec/prophecy
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install phpunit/phpunit 9.0.1
- Conclusion: remove doctrine/instantiator 1.1.0
- Installation request for phpunit/phpunit ^9.0 -> satisfiable by phpunit/phpunit[9.0.0, 9.0.1].
- Conclusion: don't install doctrine/instantiator 1.1.0
- phpunit/phpunit 9.0.0 requires doctrine/instantiator ^1.2.0 -> satisfiable by doctrine/instantiator[1.2.0, 1.3.0].
- Can only install one of: doctrine/instantiator[1.2.0, 1.1.0].
- Can only install one of: doctrine/instantiator[1.3.0, 1.1.0].
- Installation request for doctrine/instantiator (locked at 1.1.0) -> satisfiable by doctrine/instantiator[1.1.0].
Installation failed, reverting ./composer.json to its original content.