第8章. テストフレームワークの仕様
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この本で紹介する例では、Selenium WebDriver API への呼び出しを、異なる単体テストフレームワークを使用して、アノテーション@Test で装飾された Java メソッドに埋め込むことを推奨してきた:JUnit 4、JUnit 5(単独、または Selenium-Jupiter で拡張)、または TestNG である。通常のテストを実行する場合、テストフレームワークの違いはほとんどない。とはいえ、それぞれのテストフレームワークには、異なるユースケースに特化した機能がある。この章では、Selenium WebDriver のテストを実装するためのこれらの機能のいくつかを要約する。いつものように、この章のソースコードはこの本のサンプルリポジトリで発見できます。これらのサンプルを使って、あなたの特定のニーズにもっとも便利な単体テストフレームワークを比較・選択することができる。
パラメータ化されたテスト
単体テスト・フレームワークで一般的にサポートされている機能()は、パラメータ化されたテストの作成である。この機能により、異なるパラメータを使用してテストを複数回実行することができる。JUnit(4と5)でもTestNGでもパラメータ化テストを実装できるが、それぞれの実装には大きな違いがある。
JUnit 4
JUnit 4 でパラメータ化されたテストを実装するには、Parameterized というテスト・ランナーを使うために が必要だ。JUnit 4 のテストランナーとは、テストを実行する Java クラスのことである。JUnit 4 アノテーション@RunWith を使って Java クラスをデコレートし、テストランナーを指定する。それから、JUnit 4 アノテーション@Parameters を使って、テストパラメータを提供するメソッドをデコレートする必要がある。これらのパラメータをテストクラスに注入する方法には、 テストクラスのコンストラクタで注入する方法と、クラスの属性としてアノテーション@Parameter でデコレートする方法があります。例 8-1は、2 番目のテクニックでテストパラメータを注入したテストケースです。この例では、異なる資格情報(ユーザ名、パスワード)を使って、同じ テストを実行します。その結果、Web ページが提供するメッセージは異なる(ログインが成功した、あるいは資格情報が無効である)。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access