What is TestNG?
This lesson provides a brief introduction to getting started with TestNG.
We'll cover the following
Introduction #
TestNG is an easy-to-use testing framework written in Java, designed for unit, functional, and end-to-end integration tests providing many functionalities. Many plugins are integrated with TestNG.
Writing tests with TestNG is very simple. Write the business logic inside a method. Then annotate the method with @Test
. Add metadata about the test inside @Test
like description, group, priority, enabled, etc. This process will be covered in the next lesson.
About testng.xml #
testng.xml is a file that contains the test configuration, and it allows us to organize test classes and define test suites and tests.
Please find a sample TestNG class below:
package com.example.tests;
import org.testng.Assert;
import org.testng.annotations.Test;
public class TestClass {
@Test // is an annotation to indicate this is a test method
public void testA() {
Assert.assertTrue(true);
}
@Test
public void testB() {
Assert.fail();
}
}
To define this class in a testng.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Sample Test Suite">
<test name="Sample Test">
<classes>
<class name="com.example.tests.TestClass">
</class>
</classes>
</test>
</suite>
Not everything is mandatory. The bare minimum is having a suite
tag with at least one test
tag, containing at least one packages or a classes tag as shown in the above XML.
To know more, please follow the link.
That is all for the introduction. In the next lesson, you will study TestNG annotations.