我的流明应用程序当前响应hub.mode
参数的未知值并返回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()
参数。以前有人遇到过这样的事吗?
答案 0 :(得分:0)
更新: 我可以通过使用依赖注入来获取请求而不是使用Facade(Request :: capture())来解决我的问题。好像Facade不适用于测试?好吧,Laravel 5.1中不再记录Facade了。 嗯,不知道我更喜欢什么。 (未记录的)半工作功能或简单错误消息,不再支持5.1中的Facade。
嗨,我在这里有类似的东西。我使用laravel 5.1。 而evetyme我想调用('POST')我没有把参数传递给相应的接收器。此外,在Controller中,请求始终是GET。
我不知道在调用$ this-> post()时我会做错什么,如lasvels 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);
}
我缺少什么?