/ / MSTest Налаштування командного рядка - c #, .net, одиничне тестування, безперервна інтеграція, mstest

Налаштування командного рядка MSTest - c #, .net, одиничне тестування, безперервна інтеграція, mstest

Ми повинні мати можливість передавати серверну адресу в командний рядок 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.