我已经为我的配置苦苦挣扎了 2 天。
当我从我的 bash 模拟器启动 phpunit 时(在 Windows 7 下工作)
bin/phpunit -c 应用程序
我收到以下错误:
从 C:\wamp\www\myproject\app\phpunit.xml.dist 读取的配置
..PHP 致命错误:第 39 行的 C:\wamp\www\myproject\src\myproject\Business\Tests\eUserManagerTest.php 中找不到类 'myproject\Business\Tests\Entity\PHPUnit_Extensions_Databas e_DataSet_YamlDataSet'
我的环境试图用
myproject\Business\Tests\Entity为PHPUnit_Extensions_Database_DataSet_YamlDataSet的路径添加后缀,而 require_once 语句指定这是在PHPUnit/Extensions/Database/DataSet/YamlDataSet.php中定义的。
下面的“新”语句导致了这个错误的完成尝试:
namespace myproject\Business\Tests\Entity;
require_once "PHPUnit/Autoload.php";
require_once "PHPUnit/Extensions/Database/Autoload.php";
require_once "PHPUnit/Extensions/Database/DataSet/YamlDataSet.php';
use \PDO;
use myproject\Business\Entity\eUserManager;
class eUserManagerTest extends \PHPUnit_Extensions_Database_TestCase
{
...
/**
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
*/
protected function getDataSet()
{
return new PHPUnit_Extensions_Database_DataSet_YamlDataSet(
dirname(__FILE__)."/eusertable.yml"
);
}
我的问题是弄清楚为什么 *!ù% 它没有在正确的路径中查找(如 require_once 中所定义)。
也许是线索:我在文件树中发现了两个不同的 phpunit exe 文件:
/c/wamp/www/myproject/bin/phpunit
和
/c/wamp/bin/php/php5.4.3/phpunit
我认为第一个是在我安装 phpunit 时创建的,方法是在 composer.json 文件中声明它 + 启动:
作曲家更新
这适用于通过启动不涉及数据库的单元测试:
bin/phpunit -c 应用程序
第二个已通过 pear 安装,如 phpunit 文档中所述:http: //phpunit.de/manual/3.8/en/database.html
用于数据库处理的类定义位于第二个位置:
/c/wamp/bin/php/php5.4.3/phpunit/pear/PHPUnit/Extensions/Database
这就是我希望 php 研究实例化我的类的地方。
所以我的提示是问题可能与这个双重 phpunit 安装有关(一个在 symfony 本身,另一个在 php5.4.3 目录中)。
我过得好吗?
我的安装过程有错误吗?
Symfony 如何通过 pear 了解此数据库扩展安装?
注意:启动:
/c/wamp/bin/php/php5.4.3/phpunit -c 应用程序
来自 /c/wamp/www/myproject 给出了这个错误:sh.exe": /c/wamp/bin/php/php5.4.3/phpunit: .\php.exe: bad interpreter: No such file or directory
谢谢你的帮助