A full test name can have a form of:
<suite name>:<package/namespace name>.<class name>.<test name>method>(<test parameters>),
where <class name> and <test name> <test method> can have no dots in the names. Only <test method> is a mandatory part of a full test name.
The full test name is used to generate an internal
testNameId which is used to compare tests between consequent builds or match tests across different build configurations.
An example of a full test name is
Integration Tests: Backend: org.jetbrains.teamcity.LoginPageController.testBadPassword("incorrect password", false) // in the example above, // suite name = "Integration Tests: Backend" // package = org.jetbrains.teamcity // class name = LoginPageController // test method = testBadPassword // test parameters = ("incorrect password", false)
The Tests tab of the Build Results page allows grouping by suites, packages/namespaces, classes, and tests. Usually the attribute values are provides as they are reported by your test framework and TeamCity is able to interpret which part of the reported names is the test name, class, package as follows:
TeamCity takes the suite name from the corresponding suite message and
- if the reported test name starts with the suite name, the suite name is truncated from the test name before further processing
- the part of the test name after the last dot is treated as a test name
- the part of the test name before the last dot is treated as a class name
- the rest of the test name is treated as a package/namespace name
test names correctly.
If a test cannot be parsed in the form above, TeamCity still tries to extract <suite name> from the full test name for the filtering on the Tests tab, and treats everything after the suite a non-parsable test name.
Reporting .NET Code Coverage Results