결정된 순서대로 테스트 케이스를 실행하려고했지만 운이 없었습니다. 내가 다른 테스트에서 방법 후 @AfterClass
실행 주석 방법시피 :왜 @AfterClass가 다른 클래스의 테스트 후에 호출 되었습니까?
Configuring TestNG with: [email protected]e9d6
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
을 그리고 그것은 ITCaseTwo
모든 @Test
호출해야하기 때문에 실패 후에 만 ITCaseOne.afterClass()
(I 적절한 페이지를 확인해야합니다 하나의 경우에서 셀레늄 및 테스트를 사용하기 때문에) .
내 간단한 클래스 : 그것은 중요 경우
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 및 6.4
testng
를 사용 (BTW, 나는 또한 preserve-order="true"
과 스위트 파일을 사용하려고하지만, 그것은 나를 위해 작동하지 않습니다.)
미리 감사드립니다!
아차. 나는 방금 내가 의도 한 것을 명확히하기 위해 나의 질문에 오타를 수정했다. 첫 번째 클래스의 모든 메서드를 수행 한 후에 만 두 번째 클래스의 모든 메서드를 실행해야합니다. –
대답은 여전히 있습니다. –
예, 작동합니다, 감사합니다. 그러나 여기에는 몇 가지 단점이 있습니다. 모든 클래스는이 방법으로 연결되어야하며 첫 번째 테스트 케이스에서 테스트 중 하나가 실패하면 다른 모든 테스트는 실패합니다. 또한이 솔루션은 테스트 실행에 대한 엄격한 명령을 추가하지만, 실제로는 먼저 ITCaseOne 또는 ITCaseTwo라는 사람을 먼저 부르지 않습니다. –