测试laravel控制器 - 伪造Illuminate \ Http \ Request

时间:2016-02-16 11:29:44

标签: php laravel faker

我有一个控制器,它通过构造函数注入 Illuminate\Http\Request 的实例。现在我需要编写一个单元测试来测试控制器中使用Request实例中的值的调用。我决定使用Faker。如何使用Faker生成一个关联数组,以便我可以在我的测试用例中使用该数组,如

$this->post('the_uri','MyFakerArray')

动态数组将自动在我的控制器请求中可用。

1 个答案:

答案 0 :(得分:3)

无需伪造/模拟Request对象。 当您模拟请求时,laravel会为您执行此操作,它会为您请求的URL创建请求并传递变量,然后您从应用程序中获取响应。

例如:

(SELECT * FROM firstTable
    UNION
    SELECT * FROM secondTable)
    ORDER BY Name DESC

现在$response = $this->call('POST', '/user', ['name' => 'Taylor']); 变量有要测试的数据。

我认为你有:

$response

当你这样做时,你的测试应该与响应一起使用,在这种情况下你不需要Faker。