0

私のクラスには 30 個の@Testメソッドと 2個のJavaメソッドがあります。具体的なメソッドの 後に、@Testこれら 2 つのJavaメソッドを実行する必要があります。どうやってやるの ?@TestTestMethod5()

例えば:

@Test
public void TestMethod5() {

/* compiled code */

}

public void Method1(){/* compiled code */};
public void Method2{/* compiled code */};

2 つの方法が必要です。

1) testng.xml を使用
2) Intellij IDEA を使用

注:@BeforeMethodそしてextends classnameコマンド@AfterMethodでのみ機能します。これらの 2 つの Java メソッドは、メソッドを使用してボタンとラベルのレンダリングをチェックするので、基本クラスをそれらで台無しにしたくありません。assertTrue()


ええ、これらのメソッドはテスト (および将来の同様のテストも) の一部ですが、それらの内容をコピーして、必要な各メソッドに貼り付けることはできません...その場合、@Test メソッドは混乱します (大きなコード)。これらのメソッドでラベルとボタンのレンダリングを確認する必要があるだけです:

 public void method1_ButtonsTest() {

  assertTrue1();
  assertTrue2();

 }


 public void method2_LabelsTest() {

  assertTrue3();
  assertTrue4();
 }


@Test
public void Test1();

@Test
public void Test2();

@Test
public void Test3();

@Test
public void Test4();

@Test
public void Test5();

@Test
public void Test6();


@Test
public void Test7();

@Test
public void Test8();
4

2 に答える 2

1

なぜこれらのメソッドを呼び出せないのですか?

@Test public void testMethod5() {
    ...
    method1();
    method2();
}
于 2012-07-25T16:03:34.047 に答える
0

基本クラスを変更したくない場合、またテストでメソッドを直接呼び出したくない場合は、別の @AfterMethod をテスト クラスに追加し、呼び出したテスト ケースのメソッドのみを実行できます。次のように、基本クラスで @AfterMethod を呼び出します。

@AfterMethod(alwaysRun = true)
public void postTestCase(ITestResult _result) {
    if (_result.getMethod().getMethodName().equals("Test1")){
          System.out.println("Do something here...");
    }
    //Call the @AfterMethod in the base class
    super.postTestCase(_result);
}
于 2014-02-07T18:23:03.427 に答える