1

我正在使用 PHPunit 来测试我们的 Zend Framework 项目,它工作正常,但我没有覆盖我的控制器中的操作方法。

虽然我在代码行数上得到了覆盖,但我想覆盖函数/方法。

我在互联网上看到很多例子,他们就是这样做的:

class IndexTest extends Zend_Test_PHPUnit_ControllerTestCase
{
  public function testIndexAction() {
    $this->dispatch('/');
    $this->assertController('index');
    $this->assertAction('index');
    $this->assertXpath("//form[@action = '/index']");
  }
}

即使我从乔恩那里看这个例子,这也应该起作用:

http://www.zendcasts.com/unit-testing-with-the-zend-framework-with-zend_test-and-phpunit/2009/06/

http://code.google.com/p/zendcasts/source/browse/#svn/trunk/zc25-unit-testing

我正在以几乎完全相同的方式进行操作,但除了 init() 函数之外,它并没有给我任何函数中的代码覆盖率,但我认为 Zend Controller 测试用例会自动忽略它。

我是在做一些愚蠢的事情还是 PHPUnit 没有重新调整它正在调用此操作?使用 PHPUnit 3.5.14 和 Zend Framework 1.11.x

4

1 回答 1

1

要从 PHPunit 获取特定函数的代码覆盖率,您需要确保测试调用函数的每一行,以便处理和测试每种可能的情况。

于 2011-11-08T11:41:58.750 回答