1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

phpunit(Futureテスト)のassertメソッドの種類

Last updated at Posted at 2023-05-25

目的

業務でFutureテストを使うことになったのでとりあえずアウトプット

種類

メソッド メソッドの説明
assertStatus($code) レスポンスのHTTPステータスコードが指定した値と一致することをアサーションします。
assertSee($value) レスポンスの内容(HTMLまたはテキスト)に指定した値が表示されていることをアサーションします。
assertHeader(\$header, $value = null) レスポンスヘッダーが指定した値と一致することをアサーションします。
assertCookie(\$cookieName, $value = null) レスポンスに指定した名前のCookieが存在し、値が指定した値と一致することをアサーションします。
assertJson($data = null) レスポンスが有効なJSON形式であり、指定したデータと一致することをアサーションします。
assertJsonFragment($data) レスポンスに指定したデータの一部が含まれていることをアサーションします。
assertSeeInOrder($values) レスポンスの内容(HTMLまたはテキスト)に指定した値が指定した順序で表示されていることをアサーションします。
assertDontSee($value) レスポンスの内容(HTMLまたはテキスト)に指定した値が表示されていないことをアサーションします。
assertDontSeeInOrder($values) レスポンスの内容(HTMLまたはテキスト)に指定した値が指定した順序で表示されていないことをアサーションします。
assertRedirect($uri = null) レスポンスがリダイレクトを示しており、指定したURIにリダイレクトされることをアサーションします。
assertViewIs($value) レスポンスが指定したビューを表示していることをアサーションします。

よく使うコード

urllを入れてステータスコードとそのページに表示されているであろう文字列を取得する。

  public function testSample1() : void
  {
    $url = "/test";
    $response = $this->get($url);
    $response->assertStatus(200);
    $response->assertSee('aaa');
  }

  public function testSample2() : void
  {
    $url = "/test2";
    $response = $this->get($url);
    $response->assertStatus(200);
    $response->assertSee('bbb');
  }

参考URL

感想

今のところ使っているのは"assertStatus"と"assertSee"ぐらいなので、それ以外は「へー、そんなのがあるんだ」ぐらいの感触。
1つのurlにつき1つの関数で分けているが、正直正しいかどうかは分からない。
特に指摘は受けていないので大丈夫と信じたい。
たまに権限のせいかあるはずなのに403が返されることはあるが、それはまた機会があれば別記事にて。

構文とか基本的な使い方はChat-GPTに聞いた方が早いかも。
一応公式は確認するが英語だらけのドキュメントだとGPTでいいやってなっちゃう。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?