Laravel测试中如何使用postJson发送JSON数据?
Laravel测试中使用postJson发送JSON数据
在Laravel的测试里,postJson方法的第二个参数就是用来传递JSON请求体的,你只需要传入一个关联数组,框架会自动把它转换成JSON格式发送出去。
修改后的测试代码如下:
/** * A basic feature test example. * * @return void */ public function test_create_attribute() { // 定义要发送的JSON数据(用关联数组表示) $requestData = [ 'name' => '颜色', 'type' => 'select', 'options' => ['红色', '蓝色', '黑色'] // 这里根据你的接口需求添加其他字段 ]; // 第二个参数传入定义好的数组即可 $response = $this->postJson('/api/catalog/attributes?storeId=1000000006', $requestData); $response->assertStatus(201); }
补充说明:
- 如果需要自定义请求头,可以在
postJson的第三个参数传入头信息数组,比如['Accept' => 'application/json'] - 若要发送嵌套结构的JSON,直接在关联数组里嵌套子数组即可,Laravel会自动处理成对应的JSON层级结构
内容的提问来源于stack exchange,提问作者nick coder
相关产品推荐
相关产品推荐

