【发布时间】:2014-03-19 16:12:30
【问题描述】:
我已经阅读了 Symfony2 书中的Testing,但没有发现这样做有什么用处,我正在为我的应用程序中的控制器创建测试,这是我正在尝试测试的控制器(只是相关代码):
public function createCompanyAction(Request $request) {
$response = array();
$response["success"] = false;
try {
if (statement) {
// do the magic here
$response["success"] = true;
} else {
$response['errors'] = "some error";
}
} catch (Exception $ex) {
$response["exception"] = $ex->getMessage();
}
return new JsonResponse($response);
}
只有当$response 在success 键中有 TRUE 值时,测试才会通过,但我不知道如何从我的测试控制器中检查。这是我的代码:
$client->request('POST', '/create-company', $data);
$response = $client->getResponse();
$this->assertEquals(200, $client->getResponse()->getStatusCode(), 'HTTP code is not 200');
$this->assertTrue($response->headers->contains('Content-Type', 'application/json'), 'Invalid JSON response');
$this->assertNotEmpty($client->getResponse()->getContent());
我如何检查这个?
【问题讨论】: