单元测试运行两个测试,“无法声明类,因为名称已经在使用中”

问题描述

伙计们。我在CakePHP中有两个单元测试类:

<?PHP
App::import('vendor/Laravel','Api');
class UserApi extends LaravelApi {

<?PHP
App::uses('Api','vendor/Laravel');
App::import('vendor/Laravel','Api');
App::import('Component','Session');
class LaravelApiTest extends CakeTestCase {

当我运行应该运行这两个测试(以及其他一些测试)的单元测试(我将其称为AllApp.PHP)时,我得到了消息

Fatal error Error: Cannot declare class LaravelApi,because the name is already in use in [/var/www/html/app/vendor/Laravel/Api.PHP,line 9]

我尝试通过删除以下两个App之一:import('vendor / Laravel','Api');和“ AllApp.PHP”运行正常,但是我修改的单个测试当然会失败,原因是:

Error: Class 'LaravelApi' not found

我认为这是因为当我运行单个测试时,这两个文件不是同时运行,而是当我使用“ AllApp”运行它们时,这两个文件被加载,并且该类被“要求”两次(甚至以为我认为App :: import与“ require_once”类似)。有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)