What is TestNG
- TestNG is a very important framework when you are actually developing the framework from scratch level.
- TestNG provides you full control over the test cases and the execution of the test cases. Due to this reason, TestNG is also known as a testing framework.
- Cedric Beust is the developer of a TestNG framework.
- If you want to run a test case A before that as a pre-request you need to run multiple test cases before you begin a test case A. You can set and map with the help of TestNG so that pre-request test cases run first and then only it will trigger a test case A. In such way, you can control the test cases.
- TestNG framework came after Junit, and TestNG framework adds more powerful functionality and easier to use.
- It is an open source automated TestNG framework. In TestNG, NG stands for "Next Generation".
- TestNG framework eliminates the limitations of the older framework by providing more powerful and flexible test cases with help of easy annotations, grouping, sequencing and parametrizing.
Advantages of TestNG over Junit
- In TestNG, annotations are easier to understand than Junit.
- It produces the HTML reports for implementation.
- It also generates the Logs.
- In TestNG, there is no constraint available such as @beforeclass and @afterclass which is present in Junit.
- TestNG enables you to group the test cases easily which is not possible in JUnit.
- TestNG supports three additional levels such as @Before/After suite, @Before/AfterTest, and Before/AfterGroup.
- TestNG does not extend any class. TestNG framework allows you to define the test cases where each test case is independent of other test cases.
- It allows you to run the test cases of a particular group. Let's consider a scenario where we have created two groups such as 'Smoke' and 'Regression'. If you want to execute the test cases in a 'Regression' group, then this can only be possible in the TestNG framework.
- Parallel execution of test cases, i.e., running multiple test cases is only possible in the TestNG framework.