我想编写一个端到端的测试,在该过程的某个阶段将搜索具有特定 id 的模型,并根据它更新一些数据。为了避免在生产环境中运行时触及任何真实数据,我知道我们可以使用 Laravel Faker 创建模型的假实例,然后对其运行操作,即
在测试开始时,我可以运行:
$someModel = factory(SomeModel::class)->create();
据我了解,这将在数据库中创建一个具有自己唯一 ID 的实例。完成测试后,我有两个关于该实例的问题...
- 当使用 parent::teardown() 或类似的东西时,该条目是否仍然存在或被设计自动删除?
- 如果我必须手动删除它,ids 中是否会有一个跳过的条目,因为我创建的被分配 id 20 的实例不再存在,所以任何查看表格的人都会看到 ids: ...18, 19, 21 ... 等等?
对我来说,我不太确定是否可以将虚拟数据保存在生产数据库中,这完全可以吗?