3
votes

Having configured NUnit step using a bundled NUnit tool like that:

TeamCity NUnit configuration

I am having difficulties with following message appearing at the beginning of the log once step is executed:

The TeamCity NUnit runner requires the following NUnit extensions to be installed: NUnit.Engine.Listeners.TeamCityEventListener, NUnit.Engine.Services.ProjectLoaders.NUnitProjectLoader. Please follow our instructions at: https://confluence.jetbrains.com/display/TCDL/NUnit#NUnit-NUnit3Extensions

The tests are running fine, as well as dotCover coverage. But, the process itself ends with a -100 exitcode, causing whole step to be failed. I checked if the extensions on TeamCity agent are installed along with the bundle and it looks like they're - dlls are in the addins folder. Running nunit3-console with --list-extensions also displays that extensions are installed.

I also tried to install NUnit.Console bundle NuGet package (and making sure that extensions are installed as well) and run it with specified nunit console executable path, but no luck - the error message was the same. As before, running nunit3-console from command line results in installed extesions.

Unfortunately, I don't know what's the logic behind that check and I don't know how to reproduce it. I assume that there's some mismatch, because the plugins are clearly running as TeamCity recognizes the results and put them on the interface.

TeamCity version: 2018.1.2 Enterprise (build 58537) NUnit Version: 3.9.0 (bundled)

1

1 Answers

4
votes

This was a bug, which is fixed in TeamCity 2018.1.3. See https://github.com/nunit/nunit-console/issues/468

Summary: TeamCity was reading the console output of --list-extensions to determine which extensions were installed. The format of this output changed in the NUnit 3.9 Console, which broke the TeamCity parsing.

Afraid I'm not sure if there's a workaround - I'm not a TeamCity user myself.