2013-03-25 53 views
1

我在我的Zend Framework 2应用程序中编写了两个简单模型类:Catalog\Model\CityCatalog\Model\CityTyble。因为这些单元测试都还没有写完。但是,当我创建报告([email protected]:/path/to/project/module/Catalog/test# phpunit --coverage-html ./report),其中一个类显示为测试:PHPUnit报告标记未经测试的方法

enter image description here

...和方法:

enter image description here

有没有对测试方法这个班,甚至不存在一个班。

这是什么错误?为什么这些未经测试的类/这些未经测试的方法显示为经过测试?

回答

2

此报告并不完全代表正在测试的代码。报告只是说这些行正在执行。所以,如果你有测试执行某些行,你假设他们正在测试。要获取此信息,PHPUnit使用PHP_CodeCoverage

您是否有可能由PHPUnit执行的任何代码?正如报告中说,你的代码的地方,PHPUnit的执行时,即创建CityTable的一个实例,并调用方法使用fetchall()

如果使用a configuration file,检查,如果你告诉PHPUnit来执行正确的文件。

+0

谢谢你的回答!不,没有模型代码,它是在单元测试_directly_中执行的。只有一个测试类('CatalogControllerTest'),它包含三个控制器动作的三个方法(其中一个方法执行一个模型动作)。但最奇怪的是:我刚刚评论了所有测试(全部三种控制器测试方法),创建了一个新报告,然后删除了评论,再次创建报告 - 现在只显示“CatalogController.php”。所以,现在它按预期工作。我无法重现上面描述的奇怪行为。 – automatix 2013-03-28 16:09:54