我正在阅读this question,因此我可以成功测试表格的标题:
header('X-Something: value');
header('Content-Type: text/html');
但是,我有设置响应代码的代码,我想在单元测试中验证它是否正常工作,但它们不会返回xdebug_get_headers
返回值。这些电话看起来像是:
header('HTTP/1.1 201 Created');
header('HTTP/1.1 422 Unprocessable Entity');
还有检查这个标题吗?或者我只需要依赖其余的返回值来证明我的控制器正在工作
答案 0 :(得分:2)
您可以使用http_response_code()
函数返回您设置的值:
print_r("Response Code: " . http_response_code());
<强>结果:强>
Response Code: 422
文档:http_response_code() - PHP 5.4.0 +
答案 1 :(得分:0)
如果我理解了所有内容,那么您正在寻找headers_list()
,它会返回已发送(或准备发送)的响应标头列表,请参阅docs。执行以下操作:
header("X-Sample-Test: foo");
header('Content-type: text/plain');
var_dump(headers_list());
将输出:
array(3) {
[0]=>
string(23) "X-Powered-By: PHP/5.1.3"
[1]=>
string(18) "X-Sample-Test: foo"
[2]=>
string(24) "Content-type: text/plain"
}