PHP7.4 の型付きプロパティを採用したときのアプリケーションのコード スタイルの変更の 1 つは、以下から移行することでした。
if (null === $object->value) { ... }
に
if (empty($object->value)) { ... }
型指定されたプロパティが null 許容の場合でも、最初の if ステートメントはError
.
次のステップは、テストの作成でした。型指定されたプロパティが初期化されているかどうかをempty()
on でチェックすると、PHPUnit の実装assertEmpty
が同じエラーでクラッシュします。
明らかに機能しますが、プロパティがインスタンス化されていないかどうかを確認するにはassertFalse(isset($obj->value)
、どのアサーションを使用する必要がありますか? 必要なテストの簡素化:
function testInstantiatedAfterCall()
{
$obj = new Object('http://example.com');
$obj->changeContainer('Example Container');
$this->assertNull($obj->value);
// or
$this->assertEmpty($obj->value);
}