gotohayato.com

moon indicating dark mode
sun indicating light mode

Drupal 7 の DrupalWebTestCase のメソッドまとめ

2016/09/21Drupal 7

Drupal 7 には仮想ブラウザを使った自動テストのための DrupalWebTestCase というテストクラスがデフォルトで用意されています。

ただ、 DrupalWebTestCase には驚くほどたくさんの便利機能が備わってはいるのですが、主な利用者がコアコントリビュータの人たちにかぎられるためか、(英語で検索しても)わかりやすく解説している資料があまり見つかりません。 英語でその状況なのでいわんや日本語は・・・

せめて日本語で書かれたメソッド一覧などが手元にあると作業の捗り具合が違ってくるような気がするので、この度 DrupalWebTestCase のメソッド一覧表をかんたんに翻訳してみました。

原文はこちらです。

  • DrupalWebTestCase | drupal_web_test_case.php | Drupal 7.x | Drupal API
名前可視性タイプ説明
DrupalTestCase ::$assertionsprotectedプロパティテストケースで投げられるアサーション。
DrupalTestCase ::$databasePrefixprotectedプロパティこのテストランのデータベースプリフィックス。
DrupalTestCase ::$originalFileDirectoryprotectedプロパティテスト用途に変更される前のオリジナルファイルディレクトリ。
DrupalTestCase ::$resultspublicプロパティこのテストケースの現在の結果。
DrupalTestCase ::$setupprotectedプロパティテストがセットアップされたかどうかを示すフラグ。
DrupalTestCase ::$setupDatabasePrefixprotectedプロパティテスト用のデータベースプリックスがセットアップされたかどうかを示すフラグ。
DrupalTestCase ::$setupEnvironmentprotectedプロパティテスト用の環境がセットアップされたかどうかを示すフラグ。
DrupalTestCase ::$skipClassesprotectedプロパティこのクラスはアサーションのソースを探すときにスキップされる。
DrupalTestCase ::$testIdprotectedプロパティテストラン ID 。
DrupalTestCase ::$timeLimitprotectedプロパティテストのタイムリミット。
DrupalTestCase ::assertprotected関数内部ヘルパー: アサートを保持する。
DrupalTestCase ::assertEqualprotected関数2 つの値が等しいかどうかをチェックする。訳注: `==` 比較。
DrupalTestCase ::assertFalseprotected関数値が false (空文字列 / 0 / NULL / FALSE )かどうかをチェックする。
DrupalTestCase ::assertIdenticalprotected関数2 つの値が同一かどうかをチェックする。訳注: `===` 比較。
DrupalTestCase ::assertNotEqualprotected関数2 つの値が等しくないかどうかをチェックする。
DrupalTestCase ::assertNotIdenticalprotected関数2 つの値が同一かどうかをチェックする。
DrupalTestCase ::assertNotNullprotected関数値が NULL ではないかどうかをチェックする。
DrupalTestCase ::assertNullprotected関数値が NULL かどうかをチェックする。
DrupalTestCase ::assertTrueprotected関数値が false (空文字列 / 0 / NULL / FALSE )でないかどうかをチェックする。
DrupalTestCase ::deleteAssertpublic static関数メッセージ ID でアサーションレコードを削除する。
DrupalTestCase ::errorprotected関数エラーアサーションをあげる。
DrupalTestCase ::errorHandlerpublic関数テストラン中にエラーを処理する。
DrupalTestCase ::exceptionHandlerprotected関数例外を処理する。
DrupalTestCase ::failprotected関数常にネガティブとなるアサーションをあげる。
DrupalTestCase ::generatePermutationspublic static関数パラメータのリストを順列のスタックに変換する。
DrupalTestCase ::getAssertionCallprotected関数アサーションではない最初のメソッドが見つかるまでバックトレースを巻き戻す。
DrupalTestCase ::getDatabaseConnectionpublic static関数Simpletest を実行しているサイトのデータベースコネクションを返す。
DrupalTestCase ::insertAssertpublic static関数テストコンテクストの外からアサーションを保持する。
DrupalTestCase ::passprotected関数常にポジティブとなるアサーションをあげる。
DrupalTestCase ::randomNamepublic static関数文字と数字を含むランダムな文字列を生成する。
DrupalTestCase ::randomStringpublic static関数ASCII 文字( 32 から 126 までのコード)からなるランダムな文字列を生成する。
DrupalTestCase ::runpublic関数このクラスのすべてのテストを実行する。
DrupalTestCase ::verboseprotected関数verbose メッセージをテキストファイルに記録する。
DrupalWebTestCase ::$additionalCurlOptionsprotectedプロパティ追加の cURL オプション。
DrupalWebTestCase ::$contentprotectedプロパティ内部ブラウザで現在読み込まれているページのコンテンツ。
DrupalWebTestCase ::$cookieFileprotectedプロパティcURL で使用される現在のクッキーファイル。
DrupalWebTestCase ::$cookiesprotectedプロパティ内部ブラウザで現在読み込まれているページのクッキー。
DrupalWebTestCase ::$curlHandleprotectedプロパティ現在の cURL 接続のハンドル。
DrupalWebTestCase ::$drupalSettingsprotectedプロパティ内部ブラウザで現在読み込まれているページの JavaScript 変数 Drupal.settings の値。
DrupalWebTestCase ::$elementsprotectedプロパティページのパース済みバージョン。
DrupalWebTestCase ::$generatedTestFilesprotectedプロパティファイルがテストファイルディレクトリにコピーされたかどうか。
DrupalWebTestCase ::$headersprotectedプロパティ内部ブラウザで現在読み込まれているページのヘッダ。
DrupalWebTestCase ::$httpauth_credentialsprotectedプロパティHTTP 認証情報( `<username>:<password>` )。
DrupalWebTestCase ::$httpauth_methodprotectedプロパティHTTP 認証メソッド。
DrupalWebTestCase ::$loggedInUserprotectedプロパティ内部ブラウザを使用するログイン済みのカレントユーザ。
DrupalWebTestCase ::$originalShutdownCallbacksprotectedプロパティテスト用途に削除される前のオリジナルのシャットダウンハンドラの配列。
DrupalWebTestCase ::$originalUserprotectedプロパティテスト用途にまっさらな uid = 1 に変更される前のオリジナルのユーザ。
DrupalWebTestCase ::$plainTextContentprotectedプロパティ内部ブラウザで現在読み込まれているページのコンテンツ(プレーンテキストバージョン)。
DrupalWebTestCase ::$profileprotectedプロパティテストのベースとしてインストールするプロファイル。
DrupalWebTestCase ::$redirect_countprotectedプロパティリクエストハンドリング中に追われたリダイレクトの数。
DrupalWebTestCase ::$session_idprotectedプロパティ現在のセッション ID (存在する場合)。
DrupalWebTestCase ::$session_nameprotectedプロパティ現在のセッション名(存在する場合)。
DrupalWebTestCase ::$urlprotectedプロパティ内部ブラウザで現在読み込まれている URL 。
DrupalWebTestCase ::assertFieldprotected関数指定された名前または ID のフィールドが存在することをアサートする。
DrupalWebTestCase ::assertFieldByIdprotected関数指定された ID と値のフィールドが現在のページに存在することをアサートする。
DrupalWebTestCase ::assertFieldByNameprotected関数指定された名前と値のフィールドが現在のページに存在することをアサートする。
DrupalWebTestCase ::assertFieldByXPathprotected関数指定された XPath で現在のページにフィールドが存在することをアサートする。
DrupalWebTestCase ::assertFieldCheckedprotected関数現在のページ内のチェックボックスフィールドにチェックが入っていることをアサートする。
DrupalWebTestCase ::assertLinkprotected関数指定されたラベルのリンクが見つかったらパスする。オプションでインデックスを指定可。
DrupalWebTestCase ::assertLinkByHrefprotected関数指定された href を含むリンクが見つかったらパスする。
DrupalWebTestCase ::assertMailprotected関数直近に送信されたメールのメッセージに指定された値が入っていることをアサートする。
DrupalWebTestCase ::assertMailPatternprotected関数直近に送信されたメールのメッセージに指定されたパターンが入っていることをアサートする。
DrupalWebTestCase ::assertMailStringprotected関数直近に送信されたメールのメッセージに指定された文字列が入っていることをアサートする。
DrupalWebTestCase ::assertNoDuplicateIdsprotected関数各 HTML ID が単一の要素にのみ使われていることをアサートする。
DrupalWebTestCase ::assertNoFieldprotected関数指定された名前または ID のフィールドが存在しないことをアサートする。
DrupalWebTestCase ::assertNoFieldByIdprotected関数指定された ID と値のフィールドが現在のページに存在しないことをアサートする。
DrupalWebTestCase ::assertNoFieldByNameprotected関数指定された名前と値のフィールドが現在のページに存在しないことをアサートする。
DrupalWebTestCase ::assertNoFieldByXPathprotected関数指定された XPath で現在のページにフィールドが存在しないことをアサートする。
DrupalWebTestCase ::assertNoFieldCheckedprotected関数現在のページ内のチェックボックスフィールドにチェックが入っていないことをアサートする。
DrupalWebTestCase ::assertNoLinkprotected関数指定されたラベルのリンクが見つからなかったらパスする。
DrupalWebTestCase ::assertNoLinkByHrefprotected関数指定された href を含むリンクが見つからなかったらパスする。
DrupalWebTestCase ::assertNoOptionSelectedprotected関数現在のページのセレクトオプションがチェックされていなかいことをアサートする。
DrupalWebTestCase ::assertNoPatternprotected関数Perl 正規表現パターンが生のコンテンツに入っていなければパスする。
DrupalWebTestCase ::assertNoRawprotected関数読み込まれたページに生のテキストが入っていなければパスする。そうでなければ失敗する。生のテキストとは、ページが生成した生 HTML のことを指す。
DrupalWebTestCase ::assertNoResponseprotected関数指定されたレスポンスコードをページが返さなければアサートする。
DrupalWebTestCase ::assertNoTextprotected関数ページのテキストバージョンに特定のテキストが見つからなければパスする。テキストバージョンとは、ウェブブラウザを通じてユーザが見るもののこと。言い換えると、 HTML がコンテンツからフィルタアウトされたもの。
DrupalWebTestCase ::assertNoTitleprotected関数ページタイトルが指定された文字列でなければパスする。
DrupalWebTestCase ::assertNoUniqueTextprotected関数ページのテキストバージョンに指定されたテキストが 2 回以上見つかったらパスする。
DrupalWebTestCase ::assertOptionSelectedprotected関数現在のページのセレクトオプションがチェックされていることをアサートする。
DrupalWebTestCase ::assertPatternprotected関数Perl 正規表現パターンが生のコンテンツに見つかったらパスする。
DrupalWebTestCase ::assertRawprotected関数読み込まれたページに生のテキストが見つかったらパスする。見つからなかったら失敗する。生のテキストとはページが生成した生 HTML のことを指す。
DrupalWebTestCase ::assertResponseprotected関数ページが指定されたレスポンスコードでレスポンスを返すことをアサートする。
DrupalWebTestCase ::assertTextprotected関数特定のテキストがページのテキストバージョンに見つかったらパスする。テキストバージョンとはブラウザを通してユーザが見るもののこと。言い換えると、コンテンツから HTML がフィルタアウトされたもの。
DrupalWebTestCase ::assertTextHelperprotected関数asserText() と assertNoText() のヘルパー。
DrupalWebTestCase ::assertThemeOutputprotected関数テーマ出力をアサートする。
DrupalWebTestCase ::assertTitleprotected関数ページタイトルが指定された文字列であればパスする。
DrupalWebTestCase ::assertUniqueTextprotected関数ページのテキストバージョンに指定されたテキストが一度だけ見つかればパスする。
DrupalWebTestCase ::assertUniqueTextHelperprotected関数assertUniqueText() と assertNoUniqueText() のヘルパー。
DrupalWebTestCase ::assertUrlprotected関数内部ブラウザの URL が指定されたパスに一致すればパスする。
DrupalWebTestCase ::buildXPathQueryprotected関数XPath クエリを構築する。
DrupalWebTestCase ::changeDatabasePrefixprotected関数データベースコネクションをプリフィックス付きのものに変更する。
DrupalWebTestCase ::checkForMetaRefreshprotected関数メタリフレッシュタグをチェックし存在すれば drupalGet() を再帰的に呼び出す。この関数は「 Refresh 」にセットする http-equiv 属性を探す。ケースセンシティブ。
DrupalWebTestCase ::checkPermissionsprotected関数権限の配列が正しいものであることをチェックする。
DrupalWebTestCase ::clickLinkprotected関数ラベルでリンクを辿る。
DrupalWebTestCase ::constructFieldXpathprotected関数ヘルパー関数: 指定された属性と値のセットを持つ XPath を構築する。
DrupalWebTestCase ::cronRunprotected関数Simpletest でインストールされた Drupal で cron を実行する。
DrupalWebTestCase ::curlCloseprotected関数cURL ハンドラを閉じ、ハンドラをアンセットする。
DrupalWebTestCase ::curlExecprotected関数cURL リクエストを初期化し実行する。
DrupalWebTestCase ::curlHeaderCallbackprotected関数ヘッダを読み、テストサイトから受け取ったエラーを登録する。
DrupalWebTestCase ::curlInitializeprotected関数cURL コネクションを初期化する。
DrupalWebTestCase ::drupalCompareFilesprotected関数2 つのファイルのサイズとファイル名を比較する。
DrupalWebTestCase ::drupalCreateContentTypeprotected関数デフォルト設定でカスタムコンテンツタイプを作成する。
DrupalWebTestCase ::drupalCreateNodeprotected関数デフォルト設定でノードを作成する。
DrupalWebTestCase ::drupalCreateRoleprotected関数指定された権限を持つロールを作成する。
DrupalWebTestCase ::drupalCreateUserprotected関数指定されたパーミッションセットを持つユーザを作成する。
DrupalWebTestCase ::drupalGetprotected関数Drupal パスまたは絶対パスのコンテンツを取得する。
DrupalWebTestCase ::drupalGetAJAXprotected関数Drupal パスまたは絶対パスのコンテンツを取得し、結果を JSON デコードする。
DrupalWebTestCase ::drupalGetContentprotected関数リクエストされたページの生 HTML を取得する。
DrupalWebTestCase ::drupalGetHeaderprotected関数HTTP レスポンスヘッダの値を取得する。ページを取得するのに複数のリクエストが必要な場合、デフォルトでは最後のリクエストのヘッダのみがチェックされる。しかし、第 2 引数に TRUE が渡されるとすべてのリクエストが処理される。
DrupalWebTestCase ::drupalGetHeadersprotected関数リクエストされたページの HTTP レスポンスヘッダを取得する。通常は最後のリクエストで戻ってきたヘッダにのみ関心があるが、ページリダイレクトが起こったり HTTP 認証が使われたりする場合は複数のリクエストが必要となる。
DrupalWebTestCase ::drupalGetMailsprotected関数テストケースの間に送信されたすべてのメールを含む配列を取得する。
DrupalWebTestCase ::drupalGetNodeByTitle関数タイトルを指定してデータベースからノードを取得する。
DrupalWebTestCase ::drupalGetSettingsprotected関数現在読み込まれたページの JavaScript 変数 Drupal.settings の値を取得する。
DrupalWebTestCase ::drupalGetTestFilesprotected関数テストで使用できるテストファイルを取得する。
DrupalWebTestCase ::drupalGetTokenprotected関数現在ログイン中のユーザのためのトークンを生成する。
DrupalWebTestCase ::drupalHeadprotected関数Drupal パスまたは絶対パスのヘッダのみを取得する。
DrupalWebTestCase ::drupalLoginprotected関数内部ブラウザでユーザをログインさせる。
DrupalWebTestCase ::drupalLogoutprotected関数現在のユーザをログアウトする。
DrupalWebTestCase ::drupalPostprotected関数Drupal ページに対する POST リクエストを実行する。これは SimpleBrowser での通常の POST リクエストとなる。
DrupalWebTestCase ::drupalPostAJAXprotected関数Ajax 送信を実行する。
DrupalWebTestCase ::drupalSetContentprotected関数生の HTML コンテンツをセットする。これは内部ブラウザの外側でページがフェッチされ、それに対してアサーションが必要な場合に有用となる。
DrupalWebTestCase ::drupalSetSettingsprotected関数現在読み込まれたページの JavaScript 変数 Drupal.settings の値をセットする。
DrupalWebTestCase ::getAbsoluteUrlprotected関数パスを受け取り絶対パスを返す。
DrupalWebTestCase ::getAllOptionsprotected関数セレクトボックスのすべてのオプション要素を取得する。ネストされた要素も含む。
DrupalWebTestCase ::getSelectedItemprotected関数セレクトフィールドから選択された値を取得する。
DrupalWebTestCase ::getUrlprotected関数cURL ハンドラから現在の URL を取得する。
DrupalWebTestCase ::handleFormprotected関数drupalPost() に関連したフォーム要素を扱う。指定されたフィールドが存在することを確認し、特定のフィールドタイプに対する正しい方法で POST データの作成を試みる。
DrupalWebTestCase ::parseprotected関数DOM と SimpleXML を使って curlExec から返ってきたコンテンツをパースする。
DrupalWebTestCase ::preloadRegistryprotected関数テストサイトからレジストリをプリロードする。
DrupalWebTestCase ::prepareDatabasePrefixprotected関数テスト実行のためのデータベースプリフィックスを生成する。
DrupalWebTestCase ::prepareEnvironmentprotected関数テスト実行のための現在の環境を用意する。
DrupalWebTestCase ::refreshVariablesprotected関数変数のインメモリのセットをリフレッシュする。異なるスレッドで変数を変更するページリクエストの後で使用すると有用。
DrupalWebTestCase ::resetAllprotected関数新しいモジュールを有効化した後にすべてのデータ構造をリセットする。
DrupalWebTestCase ::setUpprotected関数ファンクショナルテストとインテグレーションテストのために Drupal サイトをセットアップする。
DrupalWebTestCase ::tearDownprotected関数作成されたファイルと一時ファイルディレクトリを削除する。 setUp() で作成されたテーブルを削除し、データベースプリフィックスをリセットする。
DrupalWebTestCase ::verboseEmailprotected関数直近に送信された $count 個のメールを出力する。
DrupalWebTestCase ::xpathprotected関数内部ブラウザのコンテンツで xpath 検索を実行する。検索はページのルート要素(通常は HTML タグ)からの相対。
DrupalWebTestCase ::__construct関数コンストラクタ。

以上です。

GitHub gist 版を以下の場所に置いているので DrupalWebTestCase を使いたい/日頃使っている方はよろしければどうぞ。

DrupalWebTestCase は動作がもっさりしているのがなかなか辛いところではありますが、 Drupal 7 + PHPUnit + CasperJS でテストすると「それはもう一苦労!」となるようなところでもわずかなコードでテストできてしまうのでいざというときに助かります。

ありがたやー。

参考

関連記事


後藤隼人
個人事業でウェブ開発やマーケティングをしています。
GitHub
© 2020 gotohayato.com
サイトについてタグ一覧記事アーカイブ