Laravel单元测试 - POST请求有效负载

时间:2015-02-23 03:38:57

标签: php laravel phpunit

我需要帮助为Laravel创建一个单元测试用例。它是一个API端点,接受json作为POST有效负载(NOT POST表单),基本上只是根据该json对象在数据库中创建一个条目。 API工作正常,但我在创建单元测试时遇到了麻烦。

控制器代码包含

$request = Request::instance();
$content = $request->getContent();
$inputRequest = json_decode($content);

我不知道如何将有效负载传递到单元测试代码中(扩展Illuminate\Foundation\Testing\TestCase

任何人都可以提供帮助吗?

谢谢堆

2 个答案:

答案 0 :(得分:3)

在单元测试中使用laravel提供的call()方法时。

第六个参数$ content(String)可用于传入测试用例类中的post有效内容:

$this->call($method, $uri, $parameters, $files, $server, jsonencode($yourdata), $changeHistory);

答案 1 :(得分:1)

使用备用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)