3

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

我将NetBeans 7.3.1Wamp Server 2.4一起使用,通过PEAR安装了PHPUnitSkeleton Generator,并在 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 配置,但它们没有帮助。

我希望我可以提供屏幕截图,但我不能。我试图尽可能具体。我很感激任何帮助。

4

5 回答 5

1

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

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

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

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

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

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

在此处输入图像描述

祝你好运!

于 2016-11-18T04:35:20.563 回答
0

PHPUnits 消息:

未执行任何测试!

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

首先,如果没有测试,则不执行任何测试。

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

对于您的情况,这肯定是一个配置问题。我不熟悉 Netbeans,但由于您已经可以成功执行 PHPUnit,因此您的设置的那部分看起来很有效。

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

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

于 2013-08-08T11:29:37.093 回答
0

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

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

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

于 2013-08-09T04:32:07.367 回答
0

因为这是因为我的测试名称不是以“测试”开头

于 2016-11-21T09:53:10.247 回答
0

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

于 2015-12-18T10:55:52.363 回答