TestNG-개요

테스트는 요구 사항에 따라 작동하는지 확인하기 위해 응용 프로그램의 기능을 확인하는 프로세스입니다. 단위 테스트는 최종 제품이 요구 사항을 충족하는지 확인하기 위해 모든 단일 엔터티 (클래스 또는 메서드)를 테스트하기 위해 적절한 조치를 취하는 개발자 수준에서 그림으로 나타납니다.

JUnit은 개발자가 다른 테스트 프레임 워크와 비교할 때 테스트, 특히 단위 테스트의 유용성을 이해하도록 유도했습니다. 다소 단순하고 실용적이며 엄격한 아키텍처를 활용하여 JUnit은 많은 개발자를 "감염"시킬 수있었습니다. JUnit의 기능을 잘 이해하려면 튜토리얼을 참조하십시오. 동시에 JUnit에는 다음과 같은 몇 가지 단점이 있습니다.

  • 처음에는 단위 테스트 만 가능하도록 설계되었지만 이제는 모든 종류의 테스트에 사용됩니다.

  • 종속성 테스트를 수행 할 수 없습니다.

  • 구성 제어 불량 (setUp / tearDown).

  • Intrusive (클래스를 확장하고 메서드 이름을 특정 방식으로 지정해야 함).

  • 정적 프로그래밍 모델 (불필요하게 다시 컴파일해야 함)

  • 복잡한 프로젝트에서 여러 테스트 모음을 관리하는 것은 매우 까다로울 수 있습니다.

TestNG는 무엇입니까?

문서에 따른 TestNG의 정의는 다음과 같습니다.

TestNG는 JUnit 및 NUnit에서 영감을 얻은 테스트 프레임 워크이지만 더 강력하고 사용하기 쉽게 만드는 몇 가지 새로운 기능을 소개합니다.

TestNG는 오픈 소스 자동 테스트 프레임 워크입니다. 어디NG 방법 N내선G에너지. TestNG는 JUnit (특히 JUnit 4)과 유사하지만 JUnit 확장이 아닙니다. JUnit에서 영감을 얻었습니다. 특히 통합 클래스를 테스트 할 때 JUnit보다 우수하도록 설계되었습니다. TestNG의 창시자는 Cedric Beust 입니다.

이전 프레임 워크의 한계를 대부분 제거하는 TestNG는 개발자에게 더 유연하고 강력한 테스트를 작성할 수있는 기능을 제공합니다. 테스트를 정의하기 위해 Java Annotations (JDK 5.0에 도입 됨)에서 많이 빌려 왔기 때문에 실제 프로덕션 환경에서 Java 언어의이 새로운 기능을 사용하는 방법을 보여줄 수도 있습니다.

TestNG 기능

  • 주석을 지원합니다.

  • TestNG는 더 많은 Java 및 OO 기능을 사용합니다.

  • 통합 클래스 테스트를 지원합니다 (예 : 기본적으로 모든 테스트 메서드에 대해 새 테스트 클래스 인스턴스를 만들 필요가 없음).

  • 런타임 구성 / 데이터 정보에서 컴파일 타임 테스트 코드를 분리합니다.

  • 유연한 런타임 구성.

  • '테스트 그룹'을 소개합니다. 테스트를 컴파일 한 후에는 TestNG에게 모든 "프론트 엔드"테스트 또는 "빠른", "느린", "데이터베이스"테스트 등을 실행하도록 요청할 수 있습니다.

  • 종속 테스트 방법, 병렬 테스트, 부하 테스트 및 부분 실패를 지원합니다.

  • 유연한 플러그인 API.

  • 다중 스레드 테스트 지원.