Как заставить TeamCity забрать мои тесты NUnit, запущенные из Rake?
Вопрос
Когда я запускаю это:
sh "#{MBUNIT_PATH}Gallio.Echo.exe /no-echo-results src/#{dll}/bin/Debug/#{dll}.dll"
в моем rakefile Галлио запускает мои тесты mbunit, и TeamCity получает результаты: D р>
Но это:
sh "#{NUNIT_PATH}nunit-console.exe /nologo src/#{dll}/bin/Debug/#{dll}.dll"
действительно запускает мои тесты, но TeamCity не получает результат: (
Сначала я попытался запустить свои NUnit тесты через Gallio , но не обнаруживает никаких тестов: (
Используя средство запуска teamcity NUnit, я получаю:
Failure executing test(s) on assembly nunittests.dll with NUnit 2.5.0.9122. Version 2.0 is not a compatible version.
Что бы решить эту проблему? Либо как я могу заставить Галлио забрать мои тесты NUnit, либо как мне получить команду nunit-console для загрузки TeamCity.
Решение
Вам нужно использовать встроенный NUnit Runner.
Если вы загляните в каталог агента сборки, просто найдите * .exe. Должен быть файл с именем NUnit-Runner.exe
или что-то в этом роде. Затем вам нужно использовать это вместо этого.
Посмотрите статью Создание решения .NET с помощью Rake и TeamCity . Примерно на 3/4 пути вниз он показывает, что я имею в виду:
Для достижения вышеизложенного я сделал нечто подобное в Ruby. Я установил переменную $ NUnit, если свойство ENV ['AGENT_WORKING_DIR'] существует, тогда я использую бегунок TeamCity NUnit, иначе я использую обычный NUnit (то есть разработчики могут запускать скрипт Rake).