我们应该如何在laravel中编写存储库、逻辑和控制器层的测试?



我正在尝试为存储库,逻辑和控制器层编写测试。存储库类注入到逻辑内部,逻辑类注入到控制器。我在逻辑类中编写了存储库测试和模拟存储库测试,以编写逻辑测试。但是对于控制器,我写了这样的集成测试:

public function test_create_role()
{
$data = Role::factory()->make()->toArray();
$this->postJson(route('roles.store'), $data)
->assertCreated();
}

我是否需要检查新数据是否已添加到数据库中,如:

public function test_create_role()
{
$data = Role::factory()->make()->toArray();
$this->postJson(route('roles.store'), $data)
->assertCreated();
$this->assertDatabaseHas('roles', $data);
}

或者仓库测试足够了吗?我们是否需要分别测试存储库层和逻辑层,或者集成测试就足够了?

Laravel使用活动记录,所以没有存储库,你不需要测试它,因为它是框架的一部分。只要假设它是有效的。更多关注应用逻辑和数据有效性。

最新更新