【问题标题】:"No tests executed" I cannot run any PHP test in NetBeans at all“未执行任何测试”我根本无法在 NetBeans 中运行任何 PHP 测试
【发布时间】:2013-08-09 15:24:02
【问题描述】:

我是 NetBeans 的新手,我只想对我之前开发的代码运行代码覆盖率测试。我不知道我做错了什么。

我正在使用 NetBeans 7.3.1Wamp Server 2.4,通过 PHPUnitSkeleton Generator strong>PEAR,并在 NetBeans 设置中设置这些文件。

我使用现有资源制作了该项目。在我的浏览器中运行似乎没问题。我什至可以使用 XDebug 进行调试。

但是当我右键单击项目名称和“测试”时,在“测试结果”窗口中显示“未执行测试。(0.0 秒)”,在“输出”窗口中显示:

PHPUnit 3.7.23 by Sebastian Bergmann.

Configuration read from C:\wamp\www\test\configuration.xml



Time: 141 ms, Memory: 2.00Mb

No tests executed!

Generating code coverage report in Clover XML format ... done

我尝试在 PHP 文件上运行测试,它返回一个信息对话框“未找到所选源文件的测试文件。”

我右键单击 PHP 文件,然后选择“工具->创建 PHPUnit 测试”,它返回一个警告对话框“未为以下文件生成测试:(文件名)查看输出窗口中的日志。”但“输出”窗口中没有任何更改。

我生成了 PHPUnit Bootstrap 和 XML 配置,但它们没有帮助。

我希望我可以提供屏幕截图,但我不能。我试图尽可能具体。 感谢您的帮助。

【问题讨论】:

  • 该页面是我在 Google 中查看的众多页面之一。我到处搜索并尝试了许多解决方案,但没有任何效果。好像没有人遇到过这个问题。
  • “输出”标签中有什么内容?

标签: php testing netbeans phpunit


【解决方案1】:

我也遇到了这个错误。我也在“输出”选项卡中遇到了这个错误

Fatal error: Class 'package\path\Tests\TestCase' not found in project\path\package\path\Tests\ClientTest.php on line 25

这里,TestCasePHPUnit_Framework_TestCase 的子类,并且与当前测试文件一起位于与源文件不同的目录结构中。所以,就我而言,这是一个路径问题。

我注意到我需要添加一个引导文件以将文件包含在测试路径和运行时的源路径中。

这个引导程序可以由 NetBeans 生成。请参阅此处的说明:https://netbeans.org/kb/docs/php/phpunit.html#project-specific-configurations

当然,我有另一个 bootstrap.php(由另一个开发人员添加)。我只需要像下面这样链接引导程序,

祝你好运!

【讨论】:

    【解决方案2】:

    PHPUnits 消息:

    没有执行任何测试!

    只是意味着没有找到测试。这可能有多种原因:

    首先,如果没有测试,就不执行测试。

    但也有可能存在测试,但配置说要跳过那些(例如,一些测试被分组到一个名为 slow 的组中,而配置 XML 说要排除 slow 正在运行)。

    对于您的情况,这肯定是配置问题。我对 Netbeans 不是很流利,但是由于您已经可以成功执行 PHPUnit,所以您的设置的那部分看起来可以正常工作。

    下一步是找出您何时调用测试运行程序,它会在哪里寻找测试。可能只是 tests 目录丢失或未指定。例如。例如,检查 configuration.xml 中的配置,并将其与文档进行比较以仔细检查所有设置。

    这不是一个非常具体的答案,更熟悉 Netbeans 的人可能会提供更多帮助,但是由于您没有显示更多屏幕截图,这是我诚实的最佳选择,如何继续进行故障排除以及原因。

    【讨论】:

      【解决方案3】:

      似乎我越来越接近解决方案。我发现问题不在于配置,而在于代码本身。

      我不知道这是不是一个愚蠢的问题,但似乎测试只接受用 OOP 编写的 PHP 代码。我尝试用一​​个类制作另一个文件,我可以毫无问题地制作测试文件。至少我可以看到测试结果从“未执行测试”变为“未通过测试,跳过 1 个测试”

      我的代码在没有 OOP 的情况下编写了几个月,我对此一无所知。这是否意味着我必须重新全部重写?

      【讨论】:

        【解决方案4】:

        当您在测试类的构造函数中放置一个断言并且该断言失败时,就会发生这种情况。 然后您将只看到警告“未执行测试!” (不是很有帮助)但我想不应该在构造函数中放置断言(这是在 phpunit 4.1~ 中)。

        【讨论】:

          【解决方案5】:

          因为我的测试名称不是以'test'开头

          【讨论】:

            猜你喜欢
            • 2011-06-06
            • 2018-10-08
            • 2014-10-01
            • 2021-10-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多