【问题标题】:phpunit throwing exception when doesn't find file with name of testsuitephpunit在找不到名称为testsuite的文件时抛出异常
【发布时间】:2012-03-30 02:42:30
【问题描述】:

我在关注Jon´s screencast about Unit Testing with PhpUnit and ZF 时遇到了与此question 中描述的ratzip 完全相同的错误。

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

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

但是,在某个特定的时刻,在阅读了这个question about how to run a specific phpunit xml 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 目录定义不能引导测试框架找到现有的测试。

【问题讨论】:

    标签: php zend-framework phpunit test-suite


    【解决方案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>
    

    【讨论】:

    • txs @edorian,用于指出额外的“S”...这可能是我的问题的一部分...我还在@987654321 找到了相同问题的答案中的一些其他提示@已经创建了一个“/tests/TheSuiteNameTest.php”,将套件命名为TheSuiteName,错误消失了……
    • @RodrigoAoCubo 你应该不再需要“TestSuiteName.php”或类似的东西了。这在过去用于编排测试套件,但已被 xml 配置取代。
    • 你说得对,我已经删除了“TestSuitName.php”文件,现在它仍然可以工作,因为我没有那个尾随的's'。再次发送!
    猜你喜欢
    • 2023-04-06
    • 2017-09-05
    • 1970-01-01
    • 2016-05-14
    • 2018-03-31
    • 2011-08-06
    • 2011-03-13
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多