То, как у меня работает TeamCity (с TeamCity версии 6.5.4, которую я должен добавить), заключается в использовании модуля TeamCity, который предоставляется при загрузке psake.
Добавьте это к вашему сценарию:
...
Import-Module "$build_dir\psake\teamcity.psm1"
#Tasks here
...
Remove-Module teamcity
#End Of File
У меня есть папка сборки, в которую я поместил модуль, чтобы все мои сборки могли получить к ней доступ.
Тогда все получилось из коробки.
Я не использую встроенный NUnit Runner, но я также поместил консоль NUNit в папку сборки и затем вызываю ее для каждой сборки UnitTest:
Task Test -depends Build {
$testAssemblies = (get-childitem $base_dir -r -i "*UnitTests.dll" -exclude "*.config" -Name | Select-string "bin")
foreach($test_asm_name in $testAssemblies) {
$full_test_assembly_name = "$base_dir\$test_asm_name"
Exec { invoke-expression "$nunitconsole_path $full_test_assembly_name" }
}
}