Я бы хотел создать мини-фреймворк для тестового исполнителя, поскольку я не хотел бы использовать инструмент командной строки. Итак, это тест:
<?php
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class EmailTest extends TestCase
{
public function testCanBeCreatedFromValidEmailAddress(): void
{
$this->assertInstanceOf(
Email::class,
Email::fromString('user@example.com')
);
}
public function testCannotBeCreatedFromInvalidEmailAddress(): void
{
$this->expectException(InvalidArgumentException::class);
Email::fromString('invalid');
}
public function testCanBeUsedAsString(): void
{
$this->assertEquals(
'user@example.com',
Email::fromString('user@example.com')
);
}
}
Я могу сделать что-то вроде:
$test = new EmailTest();
$test->testCanBeCreatedFromValidEmailAddress();
$test->testCannotBeCreatedFromInvalidEmailAddress();
$test->testCanBeUsedAsString();
а как их оценить, прошли они или нет? Позвольте мне не выкапывать весь инструмент командной строки unittest ...