Unit testing 使用Yi2框架运行codeception时出现recursiveCopy异常
当运行codeception时,我得到了很多错误:DeepCopy\DeepCopy::recursiveCopy 这是一个问题,让我困惑Unit testing 使用Yi2框架运行codeception时出现recursiveCopy异常,unit-testing,yii2,codeception,Unit Testing,Yii2,Codeception,当运行codeception时,我得到了很多错误:DeepCopy\DeepCopy::recursiveCopy 这是一个问题,让我困惑 当我只有4个单元测试用例时,我使用codeception播放得很好: 当我仍然充满单元测试用例时,故事就发生了 在我的测试课上有5个单元测试,然后我得到: 代码如下: public function testGetComplexItemNeeds() { $this->specify('[getComplexItemNeeds] : ', fu
public function testGetComplexItemNeeds() {
$this->specify('[getComplexItemNeeds] : ', function($expected) {
$actual = \common\services\ConfigService::getComplexItemNeeds('300001');
expect('getComplexItemNeeds', $actual)->equals($expected);
}, ['examples' => [
[0 => [
'gold' => 1,
'list' => [
300018 => 1,
],
]
],
]]);
}
php_error.log:
菲律宾比索195。DeepCopy\DeepCopy::copyArray($array=array('00000000 25E4802E00000000050AB4F11'=>class tests\codeception\frontend\UnitTester{protected$scenario=class codeception\scenario{…};protected$friends=array(…)},'00000000 25E4804000000050AB4F11'=>class codeception\scenario{protected$test=classtests\codeception\frontend\service\ConfigServiceTest{…};protected$steps=array(…)
xdebug:
我使用xdebug跟踪发现的问题,即当函数SpecificOnProperties
深入复制unitTester时,将php脚本向下复制。您可以在bootstrap.php
文件中进行深度克隆:
<?php
// disable deep cloning of properties inside specify block
\Codeception\Specify\Config::setDeepClone(false);
?>
或者打开/关闭。这也提高了您的测试性能。棒极了,伙计!!!我的测试之所以失败,只是因为重复复制???可能是一些自我参考?!