Ми повинні мати можливість передавати серверну адресу в командний рядок MSTest для нашого тестового набору, який викликається програмою TeamCity Continuous Integration (CI).
Раніше ми створили #if константи в тестах C #, які зробили зміни в MSBuild.
Чи є кращий спосіб? Цей спосіб здається досить складним.
Чи є спосіб створити файли конфігурації та передавати аргументи, які будуть використовуватися в MSTest?
Відповіді:
4 для відповіді № 1Я використовую a app.config файл у моєму тестовому проекті для налаштування моїх тестів. Контроль вихідного коду містить app.config, який використовується в TeamCity для запуску тестів.
Після компіляції app.config копіюється у папку кошика та перейменовується в [assembly-name] .config. Потім ви можете отримати доступ до будь-яких параметрів у файлі .config з коду тесту через ConfigurationManager.
У системах розробки файл .config налаштований для виконання тестів, які використовуються будь-яким локальним тестовим сервером, який розробник використовує.
Я теж вважаю це найчистішим підходом, тому що він фіксує, як тести налаштовані в керуванні джерелом.
Якщо вам потрібна більша гнучкість, ви можете налаштувати додатковий крок в TeamCity для зміни файлу .config у разі необхідності за допомогою деяких XML-перетворень або рядок заміни зі спеціального сценарію MSBuild.