TeamCity provides out-of-the-box support for a number of testing frameworks. In order to reduce feedback time on the test failures, TeamCity provides support for on-the-fly tests reporting where possible. On-the-fly tests reporting means that the tests are reported in the TeamCity UI as soon as they are run, not waiting for the build to complete.
Supported Testing Frameworks
TeamCity directly supports the following testing frameworks:
JUnit and TestNG for the following runners:
Ant (when tests are run by the
testngtasks directly within the script, TeamCity reports tests on the fly)
Maven2 (when tests are run by Maven Surefire plugin or Maven Failsafe plugin, tests reporting occurs after each module test run finish)
IntelliJ IDEA Project project (when run with appropriate IDEA run configurations. Note that such run configurations should be shared in the IDE and related files should be checked in to the version control)
NUnit for the following runners:
Runners deprecated in favor of the .NET runner, but supported for compatibility: MSBuild (NUnit community or NUnitTeamCity tasks), Microsoft Visual Studio Solution
Any other runner, provided that the TeamCity add-in for NUnit is installed
MSTest 2005, 2008, 2010, 2012, 2013, and 2015 (On-the-fly reporting is not available due to MSTest limitations)
Node.js: ESlint, Jest, and Mocha.
There are also testing frameworks that have embedded support for TeamCity on their side: for example, Gallio and xUnit.
See also external plugins.
You can import test run XML reports of supported formats with XML Report Processing.
Custom Testing Frameworks
If there is no TeamCity support yet for your testing framework, you can report tests progress to TeamCity from the build via service messages or generate one of the supported XML reports in the build.
See notes on integrating with various reporting/metric tools.