【发布时间】:2016-10-05 21:39:42
【问题描述】:
嘿,我在 Symfony3 项目中安装了 PhpUnit,当我在终端 bin/phpunit -c app 中运行时,我收到此错误:
Could not load XML from empty string
谷歌了一下,结果我需要在我的 app/ 目录中应用一个 phpunit.xml 文件,所以我做了,它看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit
backupGlobals = "false"
backupStaticAttributes = "false"
colors = "true"
convertErrorsToExceptions = "true"
convertNoticesToExceptions = "true"
convertWarningsToExceptions = "true"
processIsolation = "false"
stopOnFailure = "false"
syntaxCheck = "false"
bootstrap = "autoload.php" >
<testsuites>
<testsuite name="Project Test Suite">
<directory>../src/*/*Bundle/Tests</directory>
<!--directory>../src/*/Bundle/*Bundle/Tests</directory-->
</testsuite>
</testsuites>
<!--
<php>
<server name="KERNEL_DIR" value="/path/to/your/app/" />
</php>
-->
<filter>
<whitelist>
<directory>../src</directory>
<exclude>
<directory>../src/*/*Bundle/Resources</directory>
<directory>../src/*/*Bundle/Tests</directory>
<!--directory>../src/*/Bundle/*Bundle/Resources</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory-->
</exclude>
</whitelist>
</filter>
</phpunit>
所以现在它工作正常,但我找不到开放答案的问题是:
为什么 php 单元需要这个文件 我可以看到文件显示了 phpunit 在哪里寻找测试,但这就是全部吗?
我手动创建了这个文件,有没有办法像使用终端命令一样自动创建它。
据我所知
<whitelist>是允许 phpunit '查看'的地方吗?和<exlude>phpunit 不允许“查看”的地方?如果是这样,那么为什么这个<directory>../src/*/*Bundle/Tests</directory>会在<exlude>中,如果测试在哪里。
【问题讨论】: