Phpunit 在布局中使用自定义视图辅助对象时,单元测试失败
因此,我创建了自定义视图帮助器,并在layout.phtml中使用它,如下所示:Phpunit 在布局中使用自定义视图辅助对象时,单元测试失败,phpunit,zend-framework2,Phpunit,Zend Framework2,因此,我创建了自定义视图帮助器,并在layout.phtml中使用它,如下所示: <?php echo $this->applicationBar(); ?> 当我在布局文件中注释掉视图辅助对象时,测试再次通过。我也有同样的问题,我用一种不好的方式解决了它(但它解决了我的特定问题) phpunit测试并没有找到我的工厂视图助手,而是找到我的可调用项。然后,我做了以下工作: public function getViewHelperConfig() { return a
<?php echo $this->applicationBar(); ?>
当我在布局文件中注释掉视图辅助对象时,测试再次通过。我也有同样的问题,我用一种不好的方式解决了它(但它解决了我的特定问题) phpunit测试并没有找到我的工厂视图助手,而是找到我的可调用项。然后,我做了以下工作:
public function getViewHelperConfig() {
return array(
'factories' => array(
'aplicationBar' => function($service) {
$applicationBar = new ApplicationBar();
return $applicationBar;
},
),
'invokables' => array(
'applicationBar' => 'Application\View\Helper\ApplicationBar',
),
);
当我使用浏览器时,它使用正确的工厂。当我使用phpunit时,它使用invokables
当我需要设置一些参数时,问题就出现了。然后,我设置了一些默认参数,这些参数将仅由phpunit使用
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
class ApplicationBar extends AbstractHelper {
protected $parameter;
public function __construct($parameter = 'something') {
$this->parameter = $parameter;
}
public function __invoke() {
return $this->parameter;
}
}
这不是最好的解决方案,但如果我用更好的方法解决它,我会在这里发布。我有同样的问题,我用不好的方法解决了它(但它解决了我的具体问题) phpunit测试并没有找到我的工厂视图助手,而是找到我的可调用项。然后,我做了以下工作:
public function getViewHelperConfig() {
return array(
'factories' => array(
'aplicationBar' => function($service) {
$applicationBar = new ApplicationBar();
return $applicationBar;
},
),
'invokables' => array(
'applicationBar' => 'Application\View\Helper\ApplicationBar',
),
);
当我使用浏览器时,它使用正确的工厂。当我使用phpunit时,它使用invokables
当我需要设置一些参数时,问题就出现了。然后,我设置了一些默认参数,这些参数将仅由phpunit使用
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
class ApplicationBar extends AbstractHelper {
protected $parameter;
public function __construct($parameter = 'something') {
$this->parameter = $parameter;
}
public function __invoke() {
return $this->parameter;
}
}
这不是最好的解决方案,但如果我能用更好的方法解决,我会在这里发布。Nice。你能把它寄出去吗?我真的不喜欢我的解决方案,我来这里是为了一个更好的。很好。你能把它寄出去吗?我真的不喜欢我的解决方案,我来这里是为了一个更好的解决方案。