決められた順序でテスト ケースを実行しようとしましたが、うまくいきませんでした。@AfterClass
別のテストからのメソッドの後に実行の注釈が付けられたメソッドを見ると、次のようになります。
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNGMapConfigurator@558ee9d6
RUN class com.example.testng.ITCaseOne.beforeClass()
RUN class com.example.testng.ITCaseOne.someCase()
RUN class com.example.testng.ITCaseTwo.beforeClass()
RUN class com.example.testng.ITCaseTwo.someCase()
RUN class com.example.testng.ITCaseOne.anotherCase()
RUN class com.example.testng.ITCaseOne.afterClass()
RUN class com.example.testng.ITCaseTwo.anotherCase()
RUN class com.example.testng.ITCaseTwo.afterClass()
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.25 sec
@Test
すべてのfromITCaseTwo
は後でのみ呼び出す必要があるため、失敗しITCaseOne.afterClass()
ます(Seleniumを使用し、1つのケースからのテストで適切なページをチェックする必要があるため)。
私の簡単なクラス:
public class ITCaseOne {
@BeforeClass
public void beforeClass() {
System.out.printf("RUN %s.beforeClass()\n", getClass());
}
@AfterClass(alwaysRun = true)
public void afterClass() {
System.out.printf("RUN %s.afterClass()\n", getClass());
}
@Test(groups = "std-one")
public void someCase() {
System.out.printf("RUN %s.someCase()\n", getClass());
}
@Test(groups = "logic-one", dependsOnGroups = "std-one")
public void anotherCase() {
System.out.printf("RUN %s.anotherCase()\n", getClass());
}
}
と
public class ITCaseTwo {
@BeforeClass
public void beforeClass() {
System.out.printf("RUN %s.beforeClass()\n", getClass());
}
@AfterClass(alwaysRun = true)
public void afterClass() {
System.out.printf("RUN %s.afterClass()\n", getClass());
}
@Test(groups = "std-two")
public void someCase() {
System.out.printf("RUN %s.someCase()\n", getClass());
}
@Test(groups = "logic-two", dependsOnGroups = "std-two")
public void anotherCase() {
System.out.printf("RUN %s.anotherCase()\n", getClass());
}
}
重要な場合は、maven-failsafe-plugin
2.12 とtestng
6.4を使用します
(ところで、スイートファイルも使用しようとしていますpreserve-order="true"
が、うまくいきません。)
前もって感謝します!