0

功能测试覆盖率没有记录 Goutte 网络爬虫调用的任何控制器。

<?php

use Goutte\Client;

class DummyTest extends PHPUnit_Framework_TestCase {

/**
 * Web Crawler
 * @var \Goutte\Client
 */
protected $client;

public function setUp() {
    parent::setUp();
    $this->client = new Client();
}

public function testActionIndex() {

    $call = yii::app()->params['siteUrl'] . 'site/index';
    $crawler = $this->client->request('POST', $call, array(), array(), array());
    $response = $this->client->getResponse()->getContent();

    $this->assertEquals(200, $this->client->getResponse()->getStatus());
}
//..

相反,覆盖率报告显示测试本身已被覆盖。我期待报告显示站点控制器中的索引操作也将被涵盖。

测试工作并确定服务器响应为 200 OK。我是否需要调整任何配置以允许 phpunit 跟随请求进入控制器/动作?- 我使用 PHP yii 框架并使用 netbeans 和 jenkins 进行测试

4

1 回答 1

0

在这种情况下无法计算代码覆盖率,因为您正在抓取您的网站。调试器看到正在执行的唯一代码是测试本身、PHPUnit 和一些 Goutte 代码。您的控制器不是由运行 phpunit 的同一进程执行的。它正在由 Web 服务器执行,但 PHPUnit 无法注意到它。

于 2014-05-23T08:11:22.743 回答