我正在尝试通过 Composer 安装 PHPUnit,正如文档中所说,PEAR 安装将逐渐停止 [1] 。 这是我添加永无休止的依赖项(加上我需要的其他一些工具)几个小时后的composer.json:
{
"require": {
"phpunit/phpunit": "4.0.*",
"phpunit/dbunit": ">=1.2",
"phpunit/php-invoker": "*",
"phpunit/phpunit-selenium": ">=1.2",
"phpunit/phpunit-story": "*",
"phpunit/phpunit-mock-objects": "*",
"phpunit/phpunit-story": "*",
"phpunit/php-code-coverage": "2.*",
"sebastian/diff": "*",
"squizlabs/php_codesniffer": "*",
"phploc/phploc": "*",
"pdepend/pdepend" : "1.1.0",
"phpmd/phpmd" : "1.4.*",
"sebastian/phpcpd": "*",
"theseer/phpdox": "dev-master"
}
}
这是有关我的 PHP (cli) 的信息:
php -v
PHP 5.4.26 (cli) (built: Mar 15 2014 21:14:32)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
现在,当尝试运行一些简单的测试时,我收到一些如下异常:
PHP Warning: Uncaught exception 'PHPUnit_Framework_Error_Warning' with message 'require(classes/SebastianBergmann\Diff.php): failed to open stream: No such file or directory'
是否还需要包含更多依赖项?
PS。我尝试从该网站下载 phar 文件,但它提示找不到其他一些文件。更新: 这是我的 phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true"
bootstrap="tests/bootstrap.php"
backupGlobals="false"
backupStaticAttributes="false"
strict="true"
verbose="true">
<testsuites>
<testsuite name="Test Suite">
<directory>./tests/</directory>
</testsuite>
</testsuites>
<logging>
<log type="coverage-html" target="build/coverage"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
</phpunit>
如果我删除覆盖记录部分,一切正常。
<log type="coverage-html" target="build/coverage"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
最佳答案
您需要做的就是进入项目文件夹并添加包含以下内容的composer.json文件:
{
"require-dev": {
"phpunit/phpunit": "4.0.*"
}
}
然后在控制台窗口中输入$composer install
,Composer 将处理所有依赖项。 Composer 创建一个名为 vendor 的文件夹,其中包含 bin 文件夹。
从项目文件夹中调用 $vendor/bin/phpunit --version
应打印 PHPUnit 的当前版本。
要在应用程序中使用 PHPUnit,您需要将自动加载文件包含到应用程序中:
require 'vendor/autoload.php';
关于php - 如何通过 Composer 安装 PHPUnit 并进行覆盖日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22436058/