1

次の TestNG テストがあるとします。

@Test 
public void Test1() {

}

@Test (dependsOnMethods={"Test1"}) 
public void Test2() {

}

@Test (dependsOnMethods={"Test2"}) 
public void Test3() {

}

Tests は機能的なエンド ツー エンドの WebUI テストとして機能します (Selenium Webdriver を使用)。各テスト方法は、長い e2e シナリオのコンテキストにおけるステップです。

テストをリファクタリングして読みやすくするにはどうすればよいでしょうか? 最良の解決策は、注釈内のこの「dependsOnMethods」パラメーターをすべて削除し、この「dependsOnMethods」機能を暗黙的に提供することです。問題はどのように?優先順位の期待:

  • TestNG を維持するソリューションを見つける
  • TestNG を維持しますが、easyb などの他のツールを使用しますか? Java の代わりに groovy を使用しています... easyb で TestNG グループを使用できますか? 次のように、bddスタイルではなく「junit」スタイルでeasybすることは可能ですか?

「ユーザーがログインし、エキスパート モードを設定している」場合、{

//... setup, a la @BeforeClass 

}

次に、「ユーザーは bla bla bla を有効にできます」 {

//... 

}

その後、「ユーザーはうんちを確認できます」{

//... 

}

次に「ユーザーが変更を保存」{

//... 

}

その後、「ユーザーは変更を元に戻す」、{

// Tear Down, a la @AfterClass 

}

「同じ Java プロジェクトの groovy で他のテスト クラスを書き始めたところ」に問題はありますか?

  • TestNG をキックしますが、何を使用しますか? TestNG グループ機能 - 必要です。

クレイジーな解決策の 1 つは、すべてを壊してトゥキディデスに移動することです。しかし、これは私の場合のオプションではありません。

PS私は依存テストが「悪い習慣」であることを知っています。しかし、「依存関係自体をテストする」ことも自動化の良い点だと思います...

4

2 に答える 2