【CakePHP3】コントローラーのテストメソッド一覧

[コントローラーの統合テスト](https://book.cakephp.org/3/ja/development/testing.html#integration-testing)で使いそうな[IntegrationTestTrait](https://github.com/cakephp/cakephp/blob/3.x/src/TestSuite/IntegrationTestTrait.php)のメソッド一覧

# ステータスコード関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertResponseCode | \$code, \$message = null | レスポンスのステータスコードが$codeかチェック |
| assertResponseOk | \$message = null | レスポンスのステータスコードが2xx系かチェック |
| assertResponseSuccess | \$message = null | レスポンスのステータスコードが2xx系、もしくは、3xx系かチェック |
| assertResponseError | \$message = null | レスポンスのステータスコードが4xx系かチェック |
| assertResponseFailure | \$message = null | レスポンスのステータスコードが5xx系かチェック |

# レスポンスヘッダー関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertContentType | \$type, \$message = '' | コンテンツタイプのチェック |
| assertHeader | \$header, \$content, \$message = '' | レスポンスヘッダーのチェック |
| assertHeaderContains | \$header, \$content, \$message = '' | レスポンスヘッダーに含まれるかチェック |
| assertHeaderNotContains | \$header, \$content, \$message = '' | レスポンスヘッダーに含まれないことをチェック |
| assertRedirect | \$url = null, \$message = '' | Locationヘッダー(リダイレクト先)をチェック(フルパス比較) |
| assertNoRedirect | \$message = '' | Location ヘッダー(リダイレクト先)が設定されていないことをチェック |
| assertRedirectEquals | \$url = null, \$message = '' | Locationヘッダー(リダイレクト先)をチェック |
| assertRedirectContains | \$url, \$message = '' | Locationヘッダー(リダイレクト先)の一部をチェック |
| assertRedirectNotContains | \$url, \$message = '' | Locationヘッダー(リダイレクト先)に含まれないかチェック |
| assertCookie | \$expected, \$name, \$message = '' | レスポンス内のクッキーをチェック |
| assertCookieEncrypted | \$expected, \$name, \$encrypt = 'aes', \$key = null, \$message = '' | 暗号化されたクッキーのチェック |
| assertCookieNotSet | \$cookie, \$message = '' | レスポンス内のクッキーに含まれないことをチェック |

# レスポンスボディ関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertResponseEquals | \$content, \$message = '' | レスポンスボディのチェック |
| assertResponseNotEquals | \$content, \$message = '' | レスポンスボディが等しくないことをチェック |
| assertResponseContains | \$content, \$message = '', $ignoreCase = false | レスポンスボディに含まれるかチェック |
| assertResponseNotContains | \$content, \$message = '', $ignoreCase = false | レスポンスボディに含まれないことをチェック |
| assertResponseEmpty | \$message = '' | レスポンスボディが空であることをチェック |
| assertResponseNotEmpty | \$message = '' | レスポンスボディが空でないことをチェック |
| assertResponseRegExp | \$pattern, \$message = '' | レスポンスボディが指定の正規表現に当てはまるかチェック |
| assertResponseNotRegExp | \$pattern, \$message = '' | レスポンスボディが指定の正規表現に当てはまらないことをチェック |

# セッション関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertSession | \$expected, \$path, \$message = '' | セッション内のデータをチェック |

# ファイル関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertFileResponse | \$expected, \$message = '' | レスポンスファイルのチェック |

# フラッシュ関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertFlashMessage | \$expected, \$key = 'flash', \$message = '' | フラッシュメッセージのチェック |
| assertFlashMessageAt | \$at, \$expected, \$key = 'flash', \$message = '' | \$at番目のフラッシュメッセージをチェック |
| assertFlashElement | \$expected, \$key = 'flash', \$message = '' | フラッシュメッセージが指定のエレメントを適用しているかチェック |
| assertFlashElementAt | \$at, \$expected, \$key = 'flash', \$message = '' | \$at番目のフラッシュメッセージが指定のエレメントを適用しているかチェック |

# View関連
| メソッド | 引数 | 概要 |
|:-----------|:------------|:------------|
| assertLayout | \$content, \$message = '' | 指定のレイアウトが適用されたかチェック |
| assertTemplate | \$content, \$message = '' | 指定のテンプレートが表示されたかチェック |
| viewVariable | \$name | viewの変数を取得 |