【发布时间】:2016-06-17 23:44:51
【问题描述】:
为了能够通过数据库测试运行集成测试,我编写了一个播种器,它为新创建的假用户在 Messages 表中播种假消息。然后需要此用户的 ID 来检索消息,因此在播种器类中我只需打印它的 ID。
然后在测试中我调用以下内容:
$output = new BufferedOutput;
$exitCode = \Artisan::call('db:seed', ['--class' => UserMessagesSeeder'], $output);
这应该让我用以下内容检索输出:
$output->fetch()
但是上面的总是返回null。
我做错了什么吗?或者也许有更好的方法来调用播种机?我是否应该简单地将整个工厂包括在我的测试课程中并在必要时调用它?公平地说,这似乎很麻烦。
【问题讨论】:
-
等待您从另一个播种机内部进行 Artisan 调用?
-
不,这是来自 phpunit 测试的内部,在扩展 TestCase 的类中
标签: unit-testing laravel testing phpunit lumen