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中调用,在第144行的C:\xampp\htdocs\Zend\vendorframeworframework\Zend ServiceManager\src\ServiceManager.PHP中定义 Bootstrap.php第52-58行: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中调用,在
$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。