is a testing
framework created by Cedric Beust for the Java programming language
inspired by JUnit
but introducing some new functionalities that purport to make it more powerful and easier to use.
TestNG features include:
- JDK 5 Annotations (JDK 1.4 is also supported with JavaDoc annotations).
- Flexible test configuration.
- Support for data-driven testing (with @DataProvider).
- Support for parameters.
- Allows distribution of tests on slave machines.
- Powerful execution model (no more TestSuite).
- Supported by a variety of tools and plug-ins (such as Eclipse, IDEA, Maven).
- Embeds BeanShell for further flexibility.
- Default JDK functions for runtime and logging (no dependencies).
- Dependent methods for application server testing.
TestNG is designed to cover all categories of tests, including unit, functional, and integration tests.