Как выполнить все тесты в PHPUnit?

Я пытаюсь запустить все тесты из моего 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, все в порядке.

введите описание изображения здесь

1

Решение

Как вы можете прочитать в документация:

Примечание. Если вы укажете средство запуска командной строки 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 в конце файла.

Я думаю, что если вы удалите * и установите правильный путь, он должен работать.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]