使用Composer生成的PHPUnit测试项目
我有一个生成的项目,它依赖于PHPUnit。现在我有使用Composer生成的PHPUnit测试项目,php,phpunit,classloader,composer-php,Php,Phpunit,Classloader,Composer Php,我有一个生成的项目,它依赖于PHPUnit。现在我有 dir1->PHPUnit内容 dir2->项目人员 如果我进入项目目录并运行PHPUnit,它会抱怨加载ClassLoader.php两次: PHPUnit需要在vendors/autoload.php 应用程序代码(引导)需要它 如何解决此双重包含问题?请确保您正在运行使用Composer安装的PHPUnit副本,该副本应为vendor/bin/PHPUnit。请参阅此github repo中的composer.json,test
->PHPUnit内容dir1
->项目人员dir2
ClassLoader.php
两次:
- PHPUnit需要在
vendors/autoload.php
- 应用程序代码(引导)需要它
如何解决此双重包含问题?请确保您正在运行使用Composer安装的PHPUnit副本,该副本应为
vendor/bin/PHPUnit
。请参阅此github repo中的composer.json
,tests/composer.json
,以及README.md
的“测试”部分,以获取示例:确保正在运行使用composer安装的PHPUnit副本,该副本应为vendor/bin/PHPUnit
。参见本github repo中的composer.json
,tests/composer.json
,以及README.md
中的“测试”部分,以获取示例:从某个编写器版本[需要引证],类加载器获得了长名称的“名称空间”,从而使更多基于编写器的项目能够协同工作,从那时起这就不是问题了。从某个composer版本[需要引证]开始,类加载器使用了一个长名称“名称空间”,从而使更多基于composer的项目能够协同工作,从那时起这就不是问题了。您能告诉我们如何运行phpunit吗?我拉phpunit 3.7的目录中有bin目录。phpunit从这个bin是ln-s到/usr/local/bin,所以我可以从任何地方调用它(这对于一个与composer无关的项目来说都是有效的),答案可能是定制您的引导,但我不确定我所做的是我对类加载器进行了进一步的命名,所以没有冲突。但这是一个愚蠢的解决方案。请在你的问题中逐字输入错误消息。另外,这可能是软件包的运行方式或配置计算机的方式存在缺陷。您能告诉我们如何运行phpunit吗?我拉phpunit 3.7的目录中有bin目录。phpunit从这个bin是ln-s到/usr/local/bin,所以我可以从任何地方调用它(这对于一个与composer无关的项目来说都是有效的),答案可能是定制您的引导,但我不确定我所做的是我对类加载器进行了进一步的命名,所以没有冲突。但这是一个愚蠢的解决方案。请在你的问题中逐字输入错误消息。另外,这可能是软件包的运行方式存在缺陷,也可能是您配置计算机的方式存在缺陷。首先,使用Composer安装的PHPUnit是问题的根源:)。现在他们玩得很好。首先,使用Composer安装的PHPUnit是问题的根源:)。现在他们玩得很好。