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