phpunit:测试时可捕获的致命错误

phpunit:测试时可捕获的致命错误,php,zend-framework,phpunit,Php,Zend Framework,Phpunit,我正在使用Zend framework,我已经设置了所有内容,但在单元测试中,我遇到了一个致命错误: c:\xampp\htdocs\zend\module\Album\test>phpunit PHP可捕获的致命错误:传递给Zend\ServiceManager\ServiceManager::\uu construct()的Argment 1必须是给定的数组类型,对象在第53行的C:\xampp\htdocs\Zend\module\Album\test\Bootstrap.PHP中调用,在

我正在使用Zend framework,我已经设置了所有内容,但在单元测试中,我遇到了一个致命错误:

c:\xampp\htdocs\zend\module\Album\test>phpunit PHP可捕获的致命错误:传递给Zend\ServiceManager\ServiceManager::\uu construct()的Argment 1必须是给定的数组类型,对象在第53行的C:\xampp\htdocs\Zend\module\Album\test\Bootstrap.PHP中调用,在第144行的C:\xampp\htdocs\Zend\vendorframeworframework\Zend ServiceManager\src\ServiceManager.PHP中定义

Bootstrap.php第52-58行:

    $config = ArrayUtils::merge($baseConfig, $testConfig);
    $serviceManager = new ServiceManager(new ServiceManagerConfig());
    $serviceManager->setService('ApplicationConfig', $config);
    $serviceManager->get('ModuleManager')->loadModules();

    static::$serviceManager = $serviceManager;
    static::$config = $config;
ServiceManager.php第144-148行:

  public function __construct(array $config = [])
    {
       $this->creationContext = $this;
       $this->configure($config = []);
    }
请给我一些建议

$serviceManager = new ServiceManager(new ServiceManagerConfig());
传递给Zend\ServiceManager\ServiceManager::\uu construct()的Argment 1必须是给定对象的数组类型

错误告诉您,
ServiceManager
需要一个数组作为参数。您传递的参数是
newservicemanagerconfig()
,它是一个对象

这是版本不匹配

zendframework/zend servicemanager
~2.0
中,
servicemanager
构造函数需要一个对象

zendframework/zend servicemanager
~3.0
中,
servicemanager
构造函数需要一个数组


如果您使用的是,请确保您使用的是正确的版本。

谢谢您的回复。。。那么我需要修改什么来修复这个错误匹配呢?如果您使用的是composer,那么请确保它需要您想要的版本。看起来您可能需要版本~2.0,但这取决于您的项目。我已经按照这些步骤进行了操作,无法找出哪里出了问题。请确保您正在阅读版本的最新文档。当文档似乎基于版本2时,您设法安装了zend servicemanager的版本3。