Laravel 单元测试 - POST 请求负载
Laravel Unit Test - POST Request Payload
我需要帮助为 Laravel 创建单元测试用例。这是一个 API 端点,接受 json 作为 POST 有效负载(不是 POST 形式),基本上只是根据 json 在数据库中创建一个条目目的。 API 工作正常,但我在创建单元测试时遇到问题。
控制器代码包含
$request = Request::instance();
$content = $request->getContent();
$inputRequest = json_decode($content);
我不知道如何将有效载荷传递到单元测试代码中(扩展Illuminate\Foundation\Testing\TestCase
)
有人能帮忙吗?
谢谢堆
在单元测试中使用 laravel 提供的 call() 方法时。
第六个参数$content(String)可以用来传入post测试用例中的payload class:
$this->call($method, $uri, $parameters, $files, $server, jsonencode($yourdata), $changeHistory);
当使用备用 action() 方法时,确保在 $uri
之后添加一个额外的数组,签名有点不同,它有 $wildcards
数组:
Response::action(
string $method,
string $action,
array $wildcards = array(),
array $parameters = array(),
array $files = array(),
array $server = array(),
string $content = null,
bool $changeHistory = true
)
我需要帮助为 Laravel 创建单元测试用例。这是一个 API 端点,接受 json 作为 POST 有效负载(不是 POST 形式),基本上只是根据 json 在数据库中创建一个条目目的。 API 工作正常,但我在创建单元测试时遇到问题。
控制器代码包含
$request = Request::instance();
$content = $request->getContent();
$inputRequest = json_decode($content);
我不知道如何将有效载荷传递到单元测试代码中(扩展Illuminate\Foundation\Testing\TestCase
)
有人能帮忙吗?
谢谢堆
在单元测试中使用 laravel 提供的 call() 方法时。
第六个参数$content(String)可以用来传入post测试用例中的payload class:
$this->call($method, $uri, $parameters, $files, $server, jsonencode($yourdata), $changeHistory);
当使用备用 action() 方法时,确保在 $uri
之后添加一个额外的数组,签名有点不同,它有 $wildcards
数组:
Response::action(
string $method,
string $action,
array $wildcards = array(),
array $parameters = array(),
array $files = array(),
array $server = array(),
string $content = null,
bool $changeHistory = true
)