Laravel Eloquent,声称该集合包含项目

Ale*_* P. 13 php phpunit eloquent laravel-5

如何断言(在PHPUnit测试中)Eloquent集合包含一个项目?

像这样的东西:

$expected = factory::create(Item::class)->create();
$eloquentCollection = someData(); // Item::orderBy(...)->...->get();
$this->assertContains($expected, $eloquentCollection);
Run Code Online (Sandbox Code Playgroud)

Ami*_*pta 24

您可以使用该contains方法进行assertTrue测试:

$this->assertTrue($eloquentCollection->contains($expected));
Run Code Online (Sandbox Code Playgroud)

您还可以将键/值对传递给contains方法,该方法将确定集合中是否存在给定对:

$this->assertTrue($eloquentCollection->contains('id', $expected->id));
Run Code Online (Sandbox Code Playgroud)