6.3. TestNG Annotations

There are two mainly annotations in TestNG: @Configuration and @Test.

6.3.1. @Configuration

This annotation is used to make any method a setup or a teardown method. In addition, the @Configuration makes unnecessary to follow any naming convention in method names. The mainly properties that could be used are:

  • afterTest - if true, the method will be run after each test.

  • afterTestClass- if true, the method will be run after all the tests in the test class.

  • beforeTestClass- if true, the method will be run after the test class instantiation and before tests methods.

  • beforeTestMethod- if true, the method will be run before any test method.

In the example, the method setup() will request a new bean instance before any test method.

    /**
     * Gets a new bean instance used during the tests.
     * @throws Exception if an error occurs during the setup.
     */
    @Configuration(beforeTestMethod = true)
    public void setup() throws Exception {
        // Gets a bean instance.
        bean = getBeanRemoteInstance(SLSBExample.class, ItfExample.class);
    }

6.3.2. @Test

This annotation is used to define a method that will be run as a test and it is not necessary follow any naming convention. In the example, the method test00() has the annotation and it will be a test case:

    @Test
    public void test00() throws Exception {
         ...
    }

If it is necessary to disable this test, the enabled property could be used:

    @Test(enabled = false)
    public void test00() throws Exception {
         ...
    }