Как передать параметр в TeamCity Test Runner? - PullRequest
1 голос
/ 21 марта 2012

Как передать параметр в TeamCity Test Runner?

Я добавил конфигурацию сборки в свой проект teamcity, который копирует тестовый проект из TFS в локальное расположение на сервере, затем запускает тесты с помощью NUnit и отображает результаты.

Проблема в том, что когда тесты запускаются с моего локального компьютера, они должны использовать некоторые конфигурации, когда они запускаются из Dev Automated Build и Test Automated Build, они должны использовать другие конфигурации и все должны быть в TFS.

Например, конфигурации BaseUrl и строки подключения ...

private static readonly string BaseUrl =    ConfigurationManager.AppSettings[AppSettingKey.BaseUrl];

В настоящее время я добавил в свой проект файл web.config, который отлично работает только локально.

Итак, как передать эти параметры в конфигурацию сборки TeamCity, настроенную в среде Dev и Test environemnts?

Даже если я создаю отдельные файлы web.config (например, dev.web.config и staging.web.config), мне нужен способ указать конфигурации сборки использовать какой файл конфигурации?

Надеюсь, вопрос ясен.

большое спасибо.

Ответы [ 3 ]

4 голосов
/ 21 марта 2012

Просветленный, нашел решение (надо было подумать, прежде чем задавать вопрос здесь!)Страница «Настройки» на teamcity Я могу определить правила, например скопировать этот файл куда-нибудь.

Поэтому я просто скопирую файл в корневой каталог app.config;это все!

Rule:
+: SolutionName\Tests\ConfigFiles\Dev\App.config=>SolutionName\Tests\App.config
2 голосов
/ 27 марта 2013

Рассмотрите возможность использования параметра конфигурации, например, Build |Выпуск

Используйте локальную отладочную версию и выпустите ее в TeamCity.Вы можете сделать это с помощью параметра MSBuild (/ p: Configuration = Release)

. Затем используйте решение здесь ( Как выбрать другой app.config для нескольких конфигураций сборки ), чтобы использовать правильныеapp.config.

Я предпочитаю это решение, поскольку оно сохраняет определения в решении / проектах, а не в сборке.

[Я добавляю это только для полноты - я изначально следовалэтот подход, но затем нашел другое решение]

1 голос
/ 25 июля 2013

Правила в настройках контроля версий работают только для каталогов, поэтому лучше всего использовать шаг сборки - командная строка

Перейти к шагу сборки в разделе настроек и добавить шаг сборки со следующими настройками

Command Line 
Custom script: copy TeamCity.App.config App.config
Execute: Only if all previous steps were successful

Упорядочить этот шаг и запустить его перед шагом компиляции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...