测试 laravel 控制器 - 伪造 Illuminate\Http\Request
Testing a laravel controller - Faking a Illuminate\Http\Request
我有一个控制器,它正在获取通过构造函数注入的 Illuminate\Http\Request
的实例。现在我需要编写一个单元测试来测试控制器中使用 Request
实例中的值的调用。我决定使用 Faker
。如何使用 Faker 生成关联数组,以便我可以在我的测试用例中使用该数组,如
$this->post('the_uri','MyFakerArray')
动态数组将在我的控制器请求中自动可用。
不需要fake/mock请求对象。
当您模拟请求时 laravel 会为您执行此操作,它会向您请求的 url 创建一个请求并传递变量,然后您会从应用程序中取回响应。
例如:
$response = $this->call('POST', '/user', ['name' => 'Taylor']);
现在 $response
变量有要测试的数据。
我认为你有:
getContent() // for getting the reponse body
getCode() // for http code: 200, 401 etc
当你这样做时,你的测试应该与响应一起工作,在这种情况下你不需要 Faker。
我有一个控制器,它正在获取通过构造函数注入的 Illuminate\Http\Request
的实例。现在我需要编写一个单元测试来测试控制器中使用 Request
实例中的值的调用。我决定使用 Faker
。如何使用 Faker 生成关联数组,以便我可以在我的测试用例中使用该数组,如
$this->post('the_uri','MyFakerArray')
动态数组将在我的控制器请求中自动可用。
不需要fake/mock请求对象。 当您模拟请求时 laravel 会为您执行此操作,它会向您请求的 url 创建一个请求并传递变量,然后您会从应用程序中取回响应。
例如:
$response = $this->call('POST', '/user', ['name' => 'Taylor']);
现在 $response
变量有要测试的数据。
我认为你有:
getContent() // for getting the reponse body
getCode() // for http code: 200, 401 etc
当你这样做时,你的测试应该与响应一起工作,在这种情况下你不需要 Faker。