Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在方法中创建类型为hint的接口的模拟对象在PHPUnit上失败_Php_Interface_Phpunit_Mocking - Fatal编程技术网

在方法中创建类型为hint的接口的模拟对象在PHPUnit上失败

在方法中创建类型为hint的接口的模拟对象在PHPUnit上失败,php,interface,phpunit,mocking,Php,Interface,Phpunit,Mocking,我创建了以下界面: <?php interface Action { public function execute(\requests\Request $request, array $params); } 可能有点晚了 我遇到了完全相同的问题,结果是提示类型未加载,也不可加载。因此,PHP的ReflectionParameter不返回类名,PHPUnit的模拟生成器也不包含它 如果您确保使用autoload加载或可加载提示的类型,它应该可以工作。Mark,您如何创建模拟?永远

我创建了以下界面:

<?php
interface Action
{
    public function execute(\requests\Request $request, array $params);
}
可能有点晚了

我遇到了完全相同的问题,结果是提示类型未加载,也不可加载。因此,PHP的ReflectionParameter不返回类名,PHPUnit的模拟生成器也不包含它


如果您确保使用autoload加载或可加载提示的类型,它应该可以工作。

Mark,您如何创建模拟?永远不会太迟:这在6年后对我帮助很大。我的问题是,在一次草率的重构之后,名称空间与目录结构不匹配,因此无法在PSR4下加载。这是一个模糊的问题,因为模拟生成器根本没有警告,只是创建了一个随机类!我通过尝试创建一个手动模拟子类来诊断它,当然这很快就显示了名称空间问题。
<?php
public function execute($request, array $params)