Покрытие кода с помощью PHPUnitSeleniumTestcase

Я написал тестовый пример Selenium для PHP. Я хотел бы получить покрытие кода, пока я выполняю эти тестовые примеры. Мой тесткейс:

<?php
class Example extends PHPUnit_Extensions_SeleniumTestCase
{
  protected $coverageScriptUrl = 'http://applicationname/phpunit_coverage.php';

  protected function setUp()
  {
    $this->setBrowser("*firefox");
    $this->setBrowserUrl("http://applicationname");
    $this->setCollectCodeCoverageInformation(true);
    $this->setTestId("10001");
    $this->setHost("applicationname");
  }

  public function testMyTestCase()
  {
    $this->open("http://applicationame");
    $this->assertEquals("title", $this->getTitle());
    $this->type("id=ext-comp-1002", "testuser");
    $this->fireEvent("id=ext-comp-1002", "blur");
    $this->type("id=ext-comp-1003", "testpassword");
    $this->fireEvent("id=ext-comp-1003", "blur");
    $this->click("ext-gen45");
    $this->waitForPageToLoad("200000");
}
}
?>

Я выполнил шаги, указанные в ссылке "http://www.phpunit.de/manual/current/en/selenium.html"

. После запуска теста я не могу найти покрытие кода. В phpunit _coverage.php он ищет cookie с именем PHPUNIT _SELENIUM _TEST _ID. Этот файл cookie создается в Driver.php, и я вижу, что файл cookie доступен, но для него установлено имя хоста «localhost», а не имя моего приложения.

Время жизни файла cookie устанавливается в сеансе, т. е. сразу после выполнения тестового примера этот файл cookie больше не будет доступен, и когда я пытаюсь запустить phpunit _cover.php, он не может найти файл cookie и информацию, поэтому покрытие кода не появляется.

Вещи, которых я не понимаю:

  1. protected $coverageScriptUrl = 'http://applicationname/phpunit_coverage.php';
  2. Если файл cookie имеет другой хост, отличный от приложения, может ли этот файл cookie быть доступным

Я видел, как эта проблема обсуждалась на многих форумах, но один дал конкретный ответ

Многие форумы предлагали использовать localhostвместо 127.0.0.1в качестве имени сервера. В моем случае это уже локальный хост.

Любое предложение в этом отношении будет полезно.

Спасибо, Равури

12
задан hakre 31 May 2012 в 15:10
поделиться