首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel中测试MySQL

在laravel中测试MySQL
EN

Stack Overflow用户
提问于 2018-01-29 18:54:18
回答 1查看 176关注 0票数 0

您好,我正在测试

laravel 5.5

api使用

Mysql

作为数据库和

DatabaseTransactions

..。

假设我有一个模型

这可能是

或者

我想测试一下是否有一个不活跃的团队。

代码语言:javascript
复制
$team = Team::inactive()->inRandomOrder()->first();
$response = $this->json('GET',route('teams.show',$team->id); 
$reponse ->assertStatus(404);

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

1)我应该确保我的数据库中有一个非活动的团队吗?

2)我是否应该在第一行之后进行断言,如果

我组建团队

为了测试的目的。

3)在测试过程中使用工厂并创建假数据?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-29 19:27:27

如果它们能够真实地发生,那么您应该独立地测试每个案例。如果可能出现不存在非活动团队的情况,请对其进行测试。如果根本不存在撕裂,那么也为它写一个测试。

在测试之前,运行迁移和播种是很常见的。Laravel提供了一些有用的实用程序来实现这一点,以及在拆卸过程中回滚。让你的测试尽可能地保持原子性和相互隔离。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48499539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档