2

hub.mode我的 Lumen 应用程序当前使用 501 响应响应未知值的参数。如果没有hub.mode设置参数,则返回 400 响应。我可以使用 cURL 手动测试此行为:

curl -v --data "hub.mode=unkown-value" http://lumen.app

正如预期的那样,有一个 501 响应。我似乎无法用phpunit. 这是我当前的测试用例:

public function test501ResponseFromUnkownMode()
{
    $this->call('POST', '/', ['hub.mode' => 'unkown-value']);

    $this->assertResponseStatus(501);
}

但是,返回 400 响应,表明由于某种原因hub.mode该方法没有传递参数。call()以前有人遇到过这样的事情吗?

4

1 回答 1

0

更新:我可以通过使用依赖注入来获取请求而不是使用外观 (Request::capture()) 来解决我的问题。似乎 Facade 不适用于测试?好吧,Laravel 5.1 中不再记录 Facade。嗯,不知道我更喜欢什么。一个(未记录的)半工作特性或一个简单的错误消息,表明 5.1 中的 Facade 不再受支持。


嗨,我这里有类似的东西。我使用 laravel 5.1。并且evetyme我想调用('POST')一些我没有得到传递给相应接收器的参数的东西。此外,在控制器中,请求始终是 GET。

我不知道在调用 $this->post() 时我会做错什么,如 laravel Docs 中所述。http://laravel.com/docs/5.1/testing#testing-json-apis

这是我从 TestCase 打来的电话

$response = $this->post('/api/v1/projects', ["name" => "Fancy Test Project" ]);

这里是我想要“创造事物”的部分:

public function store()
{
    $request = Request::capture();
    $raw = $request->json();
    $body = $raw->all();
    $project = Project::create($body);
    if ($project) {
        return response($project->id, 201);
    }
    return response("Could not create Project. Malformed Request?", 400);
}

我错过了什么?

于 2015-07-02T08:37:28.540 回答