您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit断言-assertObjectEquals(对象比较器)
发布时间:2021-10-02 18:00:55编辑:雪饮阅读()
assertObjectEquals断言为了实现对象比较器,就是对对象的自定义比较的实现。
use PHPUnit\Framework\TestCase;
final class SomethingThatUsesEmailTest extends TestCase
{
public function testSomething(): void
{
$a = new Email('user@example.org');
$b = new Email('user@example.org');
$c = new Email('user@example.com');
// This passes
$this->assertObjectEquals($a, $b);
// This fails
$this->assertObjectEquals($a, $c);
}
}
这里email.php中可以看到定义email成员变量时候前面多加了一个string,这又开始学习人家java的编程风格了。
final class Email
{
private string $email;
public function __construct(string $email)
{
$this->ensureIsValidEmail($email);
$this->email = $email;
}
public function asString(): string
{
return $this->email;
}
//自定义比较器
public function equals(self $other): bool
{
return $this->asString() === $other->asString();
}
private function ensureIsValidEmail(string $email): void
{
// ...
}
}
关键字词:phpunit,assertObjectEquals