Unit testing 使用Yi2框架运行codeception时出现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

当运行codeception时,我得到了很多错误:DeepCopy\DeepCopy::recursiveCopy

这是一个问题,让我困惑

  • 当我只有4个单元测试用例时,我使用codeception播放得很好:
  • 当我仍然充满单元测试用例时,故事就发生了
  • 在我的测试课上有5个单元测试,然后我得到:
  • 代码如下:

    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);
    ?>
    
    
    

    或者打开/关闭。这也提高了您的测试性能。

    棒极了,伙计!!!我的测试之所以失败,只是因为重复复制???可能是一些自我参考?!