Как описано в PHPUnit doc , вы можете реализовать PHPUnit\Framework\Test
для написания пользовательских тестов.
Звучит отлично, но как я могу запустить эти тесты как часть моего комплекта тестов?
Учитывая следующий тестовый каталог:
+tests/
|- NormalTestExtendingTestCaseTest.php
|- CustomTestImplementingTest.php
phpunit.xml
И мой файл phpunit.xml:
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.3/phpunit.xsd"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
>
<testsuites>
<testsuite name="My Test Suite">
<directory>./tests</directory>
</testsuite>
</testsuites>
</phpunit>
PHPUnit выполняет только NormalTestExtendingTestCaseTest.php.
CustomTestImplementingTest.php
<?php
use PHPUnit\Framework\TestCase;
class CustomTestImplementingTest implements PHPUnit\Framework\Test
{
public function count()
{
return 1;
}
public function run(PHPUnit\Framework\TestResult $result = null)
{
if ($result === null) {
$result = new PHPUnit\Framework\TestResult;
}
$result->startTest($this);
// do something
$result->endTest($this, $stopTime);
return $result;
}
}