0

当我得到与此问题中描述的ratzip完全相同的错误时,我正在关注 Jon 的关于使用 PhpUnit 和 ZF 进行单元测试的截屏视频

正如他评论的那样,即使在按照此处的建议创建测试之后,我也遇到了同样的问题:出于某种原因,有一些脚本正在寻找一个名为我命名我的测试套件(MyApp.php 或其他...)的文件。

我环顾四周,但找不到我应该在哪里创建这个文件以及它应该包含什么。

但是,在给定的时刻,在阅读了这个关于如何运行特定 phpunit xml testsuite 的问题后,我决定尝试在 testsuite 部分显式地插入一个文件。

我的 phpunit.xml 现在是:

<phpunit bootstrap="./application/bootstrap.php" colors="true">
<testsuites>
    <testsuite name="MyApp">
        <file>./application/(path_to_model_inside_module)/ModelTests.php</file>
        <directory>./</directory>       
    </testsuite>
</testsuites>

<filter>

    <whitelist>
        <directory suffix=".php">../application/</directory>
        <exclude>
            <directory suffix=".phtml">../application/</directory>
        </exclude>
    </whitelist>

</filter>

即使看起来有点绝望,那个错误也不会再发生了,测试现在正在运行。

但是我对此感到不舒服,因为我无法理解之前的问题是什么,以及为什么这个文件的显式“修复”了它。

我不明白为什么 xml 目录定义不能引导测试框架找到现有的测试。

4

1 回答 1

1

PHP 致命错误:未捕获的异常 'PHPUnit_Framework_Exception' 带有消息“$TEST_SUITE_NAME.php”和“$TEST_SUITE_NAME.php”都无法打开。在 ...

这是 PHPUnits非常神秘的说法

他哥们!这里的小问题:我试图找到一些要执行的测试,但我没有找到,所以我尝试加载一个名为测试套件的文件,但它甚至不存在。我无法执行任何测试..你能帮帮我吗?:(

简而言之,它是在说:

扫描您的 xml 中的内容后,我没有找到任何测试!

为什么你的情况会发生这种情况?

PHPUnit 查找以Test.php结尾的文件,但您的文件以TestS.php 结尾。额外的“S”表示 PHPUnit 在扫描目录时不会拾取文件。这也是添加文件标签有帮助的原因。

将其重命名为 ModelTest.php,您可以摆脱文件标签:)

或者,如果您想保留文件名,请使用以下命令告诉 PHPUnit 您的命名模式:

  <directory suffix="Tests.php">./</directory>
于 2012-03-14T00:33:19.957 回答