ヘッダーを返すが送信しないモックを使用するか、Response オブジェクトを記述します。
class HttpResponse
{
protected $_status = '200 OK';
protected $_headers = array();
protected $_body = null;
public function setStatus($status)
{
$this->_status = $status;
}
public function getStatus()
{
return $this->_status;
}
public function addHeader($name, $value)
{
$this->_headers[$name] = $value;
return $this;
}
public function getHeaders()
{
return $this->_headers;
}
public function write($data)
{
$this->_body .= $data;
return $this;
}
public function send()
{
header('HTTP/1.0 ' . $this->_status);
foreach ($this->headers as $name => $value) {
header("$name : $value");
}
echo $this->_body;
$this->resetRequest();
}
public function resetRequest()
{
$this->_status = '200 OK';
$this->_headers = array();
$this->_body = null;
}
}
そうしない限りsend()
、ゲッターを介して状態を検査できます。また、レスポンス全体を文字列として返すメソッドを追加し、__toString()
それを正規表現して、期待どおりに見えるかどうかを確認することもできます。