嘿,我是PHPUNIT和php的新手,并且在树屋课程中逐步遵循了一般的编码和即时消息,但是我被困住了,我希望能得到一些帮助。这是我文件中的一些详细信息。
~/Documents/Testing/src/email.php
final class Email
{
private $email;
private function __construct(string $email)
{
$this->ensureIsValidEmail($email);
$this->email = $email;
}
public static function fromString(string $email): self
{
return new self($email);
}
public function __toString(): string
{
return $this->email;
}
private function ensureIsValidEmail(string $email): void
{
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
throw new InvalidArgumentException(
sprintf(
'"%s" is not a valid email address',
$email
~/Documents/Testing/test/EmailTest.php
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')
这是在终端的phpunit中运行的命令:
./vendor/bin/phpunit --bootstrap vendor/autoload.phptests/EmailTest
这是收到错误
致命错误:未捕获PHPUnit \ Runner \ Exception:在“ tests / EmailTest.php”中找不到类“ tests / EmailTest”。在/Users/dwayneclarkjr/Documents/Testing/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php:99中 堆栈跟踪:
#0 /Users/dwayneclarkjr/Documents/Testing/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php(157):PHPUnit \ Runner \ StandardTestSuiteLoader-> load('tests / EmailTest','tests / EmailTest ...')
#1 /Users/dwayneclarkjr/Documents/Testing/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php(105):PHPUnit \ Runner \ BaseTestRunner-> loadSuiteClass('tests / EmailTest','')< / p>
#2 /Users/dwayneclarkjr/Documents/Testing/vendor/phpunit/phpunit/src/TextUI/Command.php(183):PHPUnit \ Runner \ BaseTestRunner-> getTest('tests / EmailTest','',Array )
#3 /Users/dwayneclarkjr/Documents/Testing/vendor/phpunit/phpunit/src/TextUI/Command.php(162):PHPUnit \ TextUI \ Command-> run(Array,true)