php - 测试 Laravel Controller - 伪造 Illuminate\Http\Request

标签 php laravel faker

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

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

动态数组将自动在我的 Controller 请求中可用。

最佳答案

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

例如:

$response = $this->call('POST', '/user', ['name' => 'Taylor']);

现在 $response 变量具有要测试的数据。

我认为你有:

 getContent() // for getting the reponse body
 getCode()    // for http code: 200, 401 etc

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

关于php - 测试 Laravel Controller - 伪造 Illuminate\Http\Request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35431373/

相关文章:

php - 'onclick' 似乎没有调用带有 'submit' 按钮的函数

php - 取消链接() : No such file or Directory on Pagobox with symfony2 app

laravel - Laravel 4 上的 Blade 模板引擎语法问题

python - 机器人框架: Using faker to generate a prefix string for account data

python - 如何使用 factory 和 faker 在 Django 中生成唯一数据?

php - 计算 MySQL 数据库中 <a> 链接的点击次数

php - Codeigniter this->db->group_by 时间戳格式的日期

php - 在laravel 5.4中没有发件人地址的情况下无法发送消息

php - OctoberCMS 中如何找到提示路径?

laravel-5.1 - Laravel 模型工厂错误 : Trying to get property of non-object