testng

TestNG testing framework

1991
1017
Java

Maven Central
License
Sonarqube tech debt
Sonarqube Quality Gate Status

Documentation available at TestNG’s main web site. Visit TestNG Documentation’s GitHub Repo to contribute to it.

Release Notes

Need help?

Before opening a new issue, did you ask your question on

If you posted on both sites, please provide the link to the other question to avoid duplicating the answer.

Are you sure it is a TestNG bug?

Before posting the issue, try to reproduce the issue in a shell window.

If the problem does not exist with the shell, first check if the issue exists on the bugtracker of the runner, and open an issue there first:

Which version are you using?

Always make sure your issue is happening on the latest TestNG version. Bug reports occurring on older versions will not be looked at quickly.

Have you considered sending a pull request instead of filing an issue?

The best way to report a bug is to provide the TestNG team with a full test case reproducing the issue.
Maybe you can write a runnable test case (check the src/test/ folder for examples) and propose it in a pull request
Don’t worry if the CI fails because it is the expected behavior.
This pull request will be a perfect start to find the fix 😃

How to create a pull request?

Refer our Contributing section for detailed set of steps.

We encourage pull requests that:

  • Add new features to TestNG (or)
  • Fix bugs in TestNG

If your pull request involves fixing SonarQube issues then we would suggest that you please discuss this with the
TestNG-dev before you spend time working on it.

GPG Keys

Getting the keys

Download the keys as shown below:

gpg --keyserver keyserver.ubuntu.com --recv-keys 0F13D5631D6AF36D
gpg: key 0F13D5631D6AF36D: "Krishnan Mahadevan (krmahadevan-key) <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Trusting the keys

Trust the keys as shown below:

gpg --edit-key 0F13D5631D6AF36D
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

sec  rsa2048/0F13D5631D6AF36D
     created: 2016-12-01  expires: never       usage: SC
     trust: full          validity: unknown
ssb  rsa2048/7295B61CC8DD9AE8
     created: 2016-12-01  expires: never       usage: E
[ unknown] (1). Krishnan Mahadevan (krmahadevan-key) <[email protected]>

gpg> trust
sec  rsa2048/0F13D5631D6AF36D
     created: 2016-12-01  expires: never       usage: SC
     trust: full          validity: unknown
ssb  rsa2048/7295B61CC8DD9AE8
     created: 2016-12-01  expires: never       usage: E
[ unknown] (1). Krishnan Mahadevan (krmahadevan-key) <[email protected]>

Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

sec  rsa2048/0F13D5631D6AF36D
     created: 2016-12-01  expires: never       usage: SC
     trust: ultimate      validity: unknown
ssb  rsa2048/7295B61CC8DD9AE8
     created: 2016-12-01  expires: never       usage: E
[ unknown] (1). Krishnan Mahadevan (krmahadevan-key) <[email protected]>
Please note that the shown key validity is not necessarily correct
unless you restart the program.

gpg> exit

Invalid command  (try "help")

gpg> quit

Verifying the signature

  1. Download the .asc file from https://repo1.maven.org/maven2/org/testng/testng/<versionGoesHere>
  2. Run the command gpg --verify testng-<versionGoesHere>.jar.asc testng-<versionGoesHere>.jar
  3. You should see an output as below:
gpg: Signature made Tue Dec 26 15:06:16 2023 IST
gpg:                using RSA key 0F13D5631D6AF36D
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: Good signature from "Krishnan Mahadevan (krmahadevan-key) <[email protected]>" [ultimate]

For more details regarding keys please refer: