Hiroto's diary

プログラミング関連を書くかも

Laravel/Lumenでレスポンスヘッダーのアサートをする

Illuminate\Foundation\Testing\Concerns\MakesHttpRequestsに実装されてるseeHeaderメソッドを使う。

framework/MakesHttpRequests.php at 5.2 · laravel/framework · GitHub

ヘッダーが存在する事を確認する

例えば/hogeにアクセスした時にX-Hogeヘッダが存在するかを確認するときには以下のようにする。

<?php

class HogeTest extends TestCase {

  public function testHoge {
    $this->visit("/hoge"); // "/hoge"へアクセス
    $this->seeHeader("X-Hoge");
  }

}

ヘッダーが存在して、値が同じな事を確認する

例えば/hogeにアクセスした時にX-Hogeヘッダが存在して、値がfoo-barであることをアサートするときには以下のようにする。

<?php

class HogeTest extends TestCase {

  public function testHoge {
    $this->visit("/hoge"); // "/hoge"へアクセス
    $this->seeHeader("X-Hoge", "foo-bar"); // アサート
  }

}

Laravelのコードを読んでいたらseeHeaderメソッドを見つけたので書き直しました。

© 2015-2017 Hiroto-K