gpt4 book ai didi

php - 在 Laravel 中针对 MySQL 进行测试

转载 作者:行者123 更新时间:2023-11-29 17:59:33 26 4
gpt4 key购买 nike

你好,我正在laravel 5.5中测试一个使用Mysql作为数据库和DatabaseTransactions的API。

假设我有一个模型团队,它可能是事件非事件,并且我想测试获得一个非事件团队。

$team = Team::inactive()->inRandomOrder()->first();
$response = $this->json('GET',route('teams.show',$team->id);
$reponse ->assertStatus(404);

如果我的团队中没有不活跃的团队,这段代码是有问题的假种子数据库。那么这里最好的方法是什么?

1)我应该确保我的数据库有一个不活跃的团队吗?
2) 我是否应该在第一行之后做出断言,如果 $team==null 我让团队 inactive 进行测试。
3)在测试过程中使用工厂并创建假数据?

我暂时避免使用 3 个表的唯一原因是,在与外键的更复杂关系中,我必须植入 3-4 个表。

最佳答案

您应该独立测试每个案例是否真的可能发生。如果出现不存在不活跃团队的情况,请进行测试。如果根本不存在眼泪,也可以为此编写一个测试。

在测试之前运行迁移和播种是很常见的。 Laravel 提供了一些有用的实用程序来做到这一点以及在拆卸过程中回滚。使您的测试保持原子性并尽可能彼此隔离。

关于php - 在 Laravel 中针对 MySQL 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48499539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com