0

JUnit を使用して機能テストを自動化しています。そして、問題に遭遇しました。「テスト メソッドごとに 1 つの (重要な) アサート」というルールに従うと、1 つのテスト ケースごとに 6 行のテスト メソッドが大量に作成されることになります (17 はこれまでで最大の数です)。それらすべてを 1 つのテスト メソッドに入れると、失敗したアサーションをコメント アウトするか、テストの半分を起動しないままにする必要があります。

最初の方法は、ブラウザーを何度も起動するので好きではありません。また、ブラウザーの起動 + ログイン/ログアウトは、テスト実行自体よりも「高価」で時間がかかるようです。

2 番目の方法は、どのような場合でも多くの手作業が発生するため、あまり良くありません。

私の質問は次のとおりです。 1. そのような場合のベスト プラクティスは何ですか? 2. テストの失敗をテストの最後まで延期する方法はありますか? つまり、それほど重要ではないアサートです。これはテストの実行を停止しませんが、それでも最終的には失敗します。

UPD: はい、Selenium を使用しています。そして、設定を統一するために、すべてのテストクラスの親クラスがあります。

4

2 に答える 2

0
@BeforeClass
public static void beforeClass(){

    launchBrowser();

}

@Before
public void before() {

    login();

}

@AfterClass
public static void beforeClass(){

    killBrowser();

}

それはあなたの問題への答えかもしれません

于 2012-06-04T09:20:48.840 に答える
0
  1. @BeforeClass と @AfterClass を使用して、テスト クラスごとに 1 回ブラウザを起動およびシャットダウンするか、ブラウザを起動して @ClassRule で使用するルールを作成できます。
  2. ErrorCollectorが役立つ場合があります。
于 2012-06-04T09:13:40.557 に答える