Я пытаюсь запустить все тесты из моего testsuite, но PHPUnit не нашел тесты, когда я запускаю команду phpunit
, Я настраиваю testsuite в phpunit.xml.
phpunit.xml
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit backupGlobals="true"backupStaticAttributes="false"bootstrap="./bootstrap.php"cacheTokens="false"colors="true"convertErrorsToExceptions="true"convertNoticesToExceptions="true"convertWarningsToExceptions="true"forceCoversAnnotation="false"mapTestClassNameToCoveredClassName="false"processIsolation="false"stopOnError="false"stopOnFailure="false"stopOnIncomplete="false"stopOnSkipped="false"strict="false"verbose="true">
<testsuites>
<testsuite name="All Tests">
<directory suffix="*.php">.</directory>
</testsuite>
</testsuites>
</phpunit>
bootstrap.php
<?php
error_reporting(E_ALL | E_STRICT);
date_default_timezone_set('America/Sao_Paulo');
require_once(dirname(__FILE__) . '/WebTestCase.php');
WebTestCase.php
<?php
define('TEST_BASE_URL', 'http://localhost:8080');
class WebTestCase extends PHPUnit_Extensions_SeleniumTestCase
{
protected function setUp() {
$this->setBrowser('*firefox');
$this->setBrowserUrl(TEST_BASE_URL);
$this->setHost('localhost');
$this->setTimeOut(30);
}
}
TestPage.php
class TestPage extends WebTestCase
{
public function testTitle()
{
$this->open("/");
$title = $this->getTitle();
$this->assertEquals('Home', $title);
}
}
Если я запускаю phpunit, проходя тест файла, как phpunit TestPage.php
, все в порядке.
Как вы можете прочитать в документация:
Примечание. Если вы укажете средство запуска командной строки PHPUnit на каталог
он будет искать файлы * Test.php.
Рекомендуется проводить уроки тестирования в этом формате. Однако, если это не вариант для вас, вы можете изменить это поведение, создав phpunit.xml
файл и настройка его правильно:
<?xml version="1.0" encoding="utf-8" ?>
<phpunit>
<testsuite name='Name your suite'>
<directory suffix=".php">/path/to/files</directory>
</testsuite>
</phpunit>
Обратите внимание, что я удалил *
, Теоретически, phpunit должен пройти через каталог и выполнить все файлы с .php
в конце файла.
Я думаю, что если вы удалите *
и установите правильный путь, он должен работать.
Других решений пока нет …