Я создаю приложение Api Platform, в котором пользовательский объект, скорее всего, не имеет адреса электронной почты, имени пользователя или какой-либо другой читабельной личности.Вот почему я решил использовать UUID-типизированное поле в качестве имени пользователя (User::getUsername()
).Я установил пакет ramsey/uuid-doctrine
и применил тип данных UUID Doctrine как для свойства id
, так и для uuid
.Удален метод User::setUsername()
, поскольку мы должны назначать его только один раз при создании нового экземпляра пользователя.Теперь создание нового пользователя через API прекрасно работает как в Swagger UI, так и вручную с REST-клиентом.Но когда я пытаюсь запустить простейший Codeception cest, выполняя $ I-> haveInRepository, он выдает
1) UserCest: Test creating user
Test tests/functional/UserCest.php:createUser
[Doctrine\Common\Persistence\Mapping\MappingException] The class 'Ramsey\Uuid\Uuid' was not found in the chain configured namespaces App\Entity
Scenario Steps:
1. $I->haveInRepository("App\\Entity\\User") at tests/functional/UserCest.php:17
#1 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/MappingException.php:22
#2 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php:87
#3 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:151
#4 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:304
#5 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:78
#6 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:183
#7 /Users/erop/Developer/temp/uuid-test/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:283
#8 Codeception\Module\Doctrine2->haveInRepository
#9 /Users/erop/Developer/temp/uuid-test/tests/_support/_generated/FunctionalTesterActions.php:2792
#10 /Users/erop/Developer/temp/uuid-test/tests/functional/UserCest.php:17
Не знаю, что и где я должен настроить, чтобы тест работал.То, что я нашел в интернете, в основном относится к взаимосвязям сущностей в разных связках.Но, как вы можете видеть, это не так.Есть идеи, как решить проблему?