繁体   English   中英

Doctrine UUID 数据类型:手动工作完美,但在 Codeception 中失败

Doctrine UUID data type: works perfect manually but fails in Codeception

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在构建一个 Api 平台应用程序,其中用户实体很可能没有 email、用户名或任何其他人类可读的身份。 这就是为什么我决定使用 UUID 类型的字段作为用户名( User::getUsername() )。 我安装了ramsey/uuid-doctrine package 并为id属性和uuid应用 UUID Doctrine 数据类型。 删除User::setUsername()方法,因为我们必须在创建新的 User 实例时只分配一次。 现在通过 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

不知道我应该在哪里和哪里调整一些东西来使测试工作。 我在互联网上发现的主要与不同捆绑中实体的关系有关。 但正如你所看到的,情况并非如此。 任何想法如何解决这个问题?

问题暂未有回复.您可以查看右边的相关问题.
1 当SQL存储过程中的脚本手动工作时,它无法更新数据

我有一个在工作中执行的SQL脚本,用于定期转换表。 为了加快速度,我将该脚本放入存储过程中,并执行了一项作业。 它工作更快。 该问题有时在存储过程即使执行但仍无法正常工作时发生。 我手动使用脚本并运行它,一切正常。 整个脚本都在事务内部,我已经完成了它,因此,如果出现某些错误, ...

3 DynamoDB中的UUID数据类型

根据规范,UUID是128位或16字节。 十六进制表示为36个字符,包括连字符。 我正在构建一个关于DynamoDB的新表,我必须决定Hash键的类型,我计划填充UUID。 我应该使用哈希键创建表,这个键是这些UUID的字符串或二进制吗? 我的直觉告诉我字节,因为它不到一半的大小,以节省 ...

5 当我手动运行脚本时,脚本可以完美运行,但是在crontab上出现了问题

我是写Unix shell脚本的新手。 我写了一个包含Oracle数据库sql代码的脚本。 如下所示,它在文本文件中写出了sql代码,我想通过邮件发送这些输出。 当我手动运行它时,它工作得很好。 但是在crontab上时,它并没有按照我的意愿进行。 Sql代码工作得很好,文本文件已更新 ...

7 与Doctrine 2的代码接收实体关联

我正在用Codeception对我的Symfony 2应用程序进行单元测试。 对于一个测试,我想以一对一的关系获取关联的实体,但是我无法终生搞清楚该如何做,因为无论我如何做,代码接收都会抱怨。 我的第一次尝试: 错误: 1)无法在RealmBasicsCest :: ...

8 为什么决策树在不平衡数据上能完美工作?

我尝试了kaggle的欺诈抽样。 该样本由284807个交易组成,其中497个为一类,其余为另一类,比率为0.172%。 有一个不平衡的问题,我想测试简单的随机欠采样的工作原理。 我将样本分成20个部分,并通过精确调用曲线下的区域进行检查。 我采用了线性回归和决策树。 线性回归 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM