为了在Laravel应用程序中创建虚拟数据,这是播种数据库或使用Faker库之间的最佳选择?我一直在查阅这两种方法,但没有深入学习。
答案 0 :(得分:1)
参见laravel项目,有一个在project/database/factories/ModelFactory.php
在这里faker仅用于生成不播种的数据。
如果你想与faker一起播种,首先要创建一个种子(https://laravel.com/docs/5.2/seeding#writing-seeders),然后在run
方法中使用该模型工厂,就像这样
public function run()
{
factory(\App\User::class,10)->create();
}
希望你理解
答案 1 :(得分:0)
理想情况下,您根本不想涉及数据库,因为它的速度相当慢,并且需要花费很长时间才能完成测试,尤其是当您开始拥有数百个成熟的应用程序时。 / p>
你会想看看嘲讽(https://laracasts.com/lessons/mock-that-thang),我建议你看看那些(如laracasts及其他)的无数其他视频如何正确地做到这一点。
答案 2 :(得分:0)
通过种子设定,您可以轻松地在数据库中创建特定数据。例如,当我重置数据库并再次运行迁移时,我使用种子创建管理员帐户,以便我可以登录我的应用程序。
此种子包含电子邮件地址和密码等特定信息,因此我可以登录。
要测试我的应用程序,我会使用Faker库,因为它只会生成我可用于测试的随机数据。例如:我可以在我的应用程序中创建多个用户。然后我可以编辑这些用户或删除它们。但我无法使用这些用户登录,因为我不知道为他们创建的密码。
希望这有助于决定使用什么。