TeamCity
 
You are viewing the documentation for an earlier version of TeamCity.

NUnit for MSBuild

Last modified: 20 April 2023

This page describes how to use NUnit from MS build.

Working with NUnit Task in MSBuild Build



The information in this section is applicable if you are using NUnit prior to version 3.0. For later versions, refer to the section below.

This section assumes that you already have an MSBuild build script with a configured NUnit task in it, and want TeamCity to track test reports without making any changes to the existing build script. Otherwise, consider adding NUnit build runner as one of the steps for your build configuration.

Using NUnitTeamCity task in MSBuild Build Script



TeamCity provides a custom NUnitTeamCity task compatible with the NUnit task from MSBuild Community tasks project. If you provide the NUnitTeamCity task in your build script, TeamCity will launch its own test runner based on the options specified within the task. Thus, you do not need to have any NUnit runner, because TeamCity will run the tests.

In order to correctly use the NUnitTeamCity task, perform the following steps:

  1. Make sure the teamcity_dotnet_nunitlauncher system property is accessible on build agents. Build agents running Windows should automatically detect these properties as environment variables. If you need to set them manually, see defining agent specific properties for more information.

  2. Configure your MSBuild build script with NUnitTeamCity task using the following syntax:

    <UsingTask TaskName="NUnitTeamCity" AssemblyFile="$(teamcity_dotnet_nunitlauncher_msbuild_task)" />
    <NUnitTeamCity Assemblies="@(assemblies_to_test)" />

The following attributes are supported by NUnitTeamCity task:

Example (part of the MSBuild build script):

Important Notes

  • Be sure to replace "." with "_" when using System Properties in MSBuild scripts. For example, use teamcity_dotnet_nunitlauncher_msbuild_task instead of teamcity.dotnet.nunitlauncher.msbuild.task

  • TeamCity also provides Visual Studio Solution Runner for solution files of Microsoft Visual Studio 2005 and above. It allows you to use MSBuild-style wildcards for the assemblies to run unit tests on.

Examples



Run NUnit tests using specific NUnit runner version:

Run NUnit tests with custom addins with NUnit 2.4.6:

Run NUnit tests with custom addins with NUnit 2.4.6 in per-assembly mode:

Working with NUnit 3.0



The information in this section is applicable if you are using NUnit 3.0 and above. For earlier versions of NUnit, refer to the section above.

Starting from version 3.0, NUnit supports TeamCity natively, so there is no need to use a special task for MSBuild as it was done for the earlier NUnit versions. The simplest way is to run the NUnit console via the standard Exec task. For example:

 Getting Started with NUnit contains details and more examples.