PHPUnit+;CodeIgniter具有相同名称的多个对象
我目前使用CIUnit用phpunit测试我的CodeIgniter应用程序(https://bitbucket.org/kenjis/my-ciunit). 问题是我有多个同名的控制器。我在根控制器目录中有一个名为“Blog”的控制器,在controller/ajax/目录中有一个名为“Blog”的控制器。 原因是将所有ajax请求与主控制器分离 在这两个文件上运行测试时,出现以下错误: PHP致命错误:无法在中重新声明类日志 嗯,我并不惊讶我会犯这样的错误 我有什么办法来解决这个问题PHPUnit+;CodeIgniter具有相同名称的多个对象,codeigniter,phpunit,Codeigniter,Phpunit,我目前使用CIUnit用phpunit测试我的CodeIgniter应用程序(https://bitbucket.org/kenjis/my-ciunit). 问题是我有多个同名的控制器。我在根控制器目录中有一个名为“Blog”的控制器,在controller/ajax/目录中有一个名为“Blog”的控制器。 原因是将所有ajax请求与主控制器分离 在这两个文件上运行测试时,出现以下错误: PHP致命错误:无法在中重新声明类日志 嗯,我并不惊讶我会犯这样的错误 我有什么办法来解决这个问题 在aj
这不是我真正想要的解决方案。我还有其他选择吗?是否有可能单独运行每个测试套件,但仍然在一个命令中运行?我可以在测试套件之间“清理”对象吗?还有什么吗?除了您提到的选项之外,没有其他选项,因为无法在PHP中“卸载”类定义 当您正常运行CI时,将两个控制器命名为同一个控制器不是问题,因为每个请求只实例化一个控制器,但应该避免这样做 如果它只是您不喜欢的ajax url,可以在路由中覆盖它(在
config/routes.php
中):
$routes['ajax/blog'] = 'ajax/ajax_blog';