TestNG-기본 주석
JUnit 3에서 테스트 메소드를 표시하는 전통적인 방법은 이름 앞에 test를 붙이는 것입니다. 이것은 클래스의 특정 메서드에 특별한 의미가 있다고 태그를 지정하는 데 매우 효과적인 방법이지만 이름 지정이 잘 확장되지 않고 (다른 프레임 워크에 대해 더 많은 태그를 추가하려면 어떻게해야합니까?) 다소 융통성이 없습니다 (만약 우리가 테스트 프레임 워크에 추가 매개 변수를 전달 하시겠습니까?).
주석은 JDK 5의 Java 언어에 공식적으로 추가되었으며 TestNG는 주석을 사용하여 테스트 클래스에 주석을 달도록 선택했습니다.
다음은 TestNG가 지원하는 주석 목록입니다.
Sr. 아니. | 주석 및 설명 |
---|---|
1 | @BeforeSuite 주석이 달린 메서드는이 제품군의 모든 테스트가 실행되기 전에 한 번만 실행됩니다. |
2 | @AfterSuite 주석이 달린 메서드는이 제품군의 모든 테스트가 실행 된 후 한 번만 실행됩니다. |
삼 | @BeforeClass 주석이 달린 메서드는 현재 클래스의 첫 번째 테스트 메서드가 호출되기 전에 한 번만 실행됩니다. |
4 | @AfterClass 주석이 달린 메서드는 현재 클래스의 모든 테스트 메서드가 실행 된 후 한 번만 실행됩니다. |
5 | @BeforeTest 주석이 달린 메소드는 <test> 태그 내의 클래스에 속하는 테스트 메소드가 실행되기 전에 실행됩니다. |
6 | @AfterTest 주석이 추가 된 메서드는 <test> 태그 내의 클래스에 속하는 모든 테스트 메서드가 실행 된 후에 실행됩니다. |
7 | @BeforeGroups 이 구성 방법이 이전에 실행될 그룹 목록입니다. 이 메서드는 이러한 그룹에 속하는 첫 번째 테스트 메서드가 호출되기 직전에 실행됩니다. |
8 | @AfterGroups 이 구성 방법이 실행될 그룹 목록입니다. 이 메서드는 이러한 그룹에 속하는 마지막 테스트 메서드가 호출 된 직후에 실행됩니다. |
9 | @BeforeMethod 주석이 달린 메소드는 각 테스트 메소드 전에 실행됩니다. |
10 | @AfterMethod 주석이 달린 메서드는 각 테스트 메서드 후에 실행됩니다. |
11 | @DataProvider 메서드를 테스트 메서드에 대한 데이터를 제공하는 것으로 표시합니다. 주석이 달린 메서드는 Object [] []를 반환해야합니다. 여기서 각 Object []에 테스트 메서드의 매개 변수 목록을 할당 할 수 있습니다. 이 DataProvider에서 데이터를 수신하려는 @Test 메서드는이 주석의 이름과 동일한 dataProvider 이름을 사용해야합니다. |
12 | @Factory
메서드를 TestNG에서 Test 클래스로 사용할 개체를 반환하는 팩토리로 표시합니다. 메서드는 Object []를 반환해야합니다. |
13 | @Listeners 테스트 클래스에서 리스너를 정의합니다. |
14 | @Parameters @Test 메서드에 매개 변수를 전달하는 방법을 설명합니다. |
15 | @Test 클래스 또는 메서드를 테스트의 일부로 표시합니다. |
주석 사용의 이점
다음은 주석 사용의 몇 가지 이점입니다.
TestNG는 주석을 조회하여 관심있는 메서드를 식별합니다. 따라서 메서드 이름은 패턴이나 형식으로 제한되지 않습니다.
주석에 추가 매개 변수를 전달할 수 있습니다.
주석은 강력한 형식이므로 컴파일러는 모든 실수를 즉시 표시합니다.
테스트 클래스는 더 이상 아무것도 확장 할 필요가 없습니다 (예 : JUnit 3의 경우 TestCase).