Объединение результатов нескольких тестовых проектов в решение VSTest

Прямо сейчас у меня есть решение, которое имеет 3 проекта модульного тестирования в Visual Studio 2017 (4.6.2).

Я создал TestCategories и выполняю тесты с помощью командной строки на основе TestCategories (категория с одним тестом/категории с несколькими тестами с помощью операции «&» в команде).

Я составил список TestResults и продолжаю добавлять результат в список в методе TestCleanup в каждом отдельном проекте. Этот список TestResult является глобальным, и к нему можно получить доступ во всех трех тестовых проектах.

После завершения в очистке сборки я записываю его в файл Excel и отправляю по почте в группу электронной почты в организации.

Когда я это делаю, я получаю 3 письма от 3 тестовых проектов.

Чтобы избежать этого, я добавил код рассылки только в 1 тестовый проект и удостоверился, что запускаю тест из этого TestProject (хотя мне не нужен этот тест для запуска).

Теперь моя проблема:
Предположим, у меня есть 3 TestProjects A, B и C, и у меня есть логика рассылки в Assembly Cleanup в TestProject C.
1. Как и AssemblyCleanup, у нас есть место, где мы знаем что все тестовые проекты A, B или C завершили выполнение тестов?
2. Предположим, что если я запускаю тесты только в TestProject A, где у меня нет логики рассылки, я не получаю почту. (Поскольку логика рассылки доступна в другом проекте - C.)
3. Если я добавлю логику рассылки во все 3 проекта (A, B и C), она отправит мне 3 письма. Которые мне приходится консолидировать вручную.
4. Если я выполнил пару тестов из каждой сборки (A, B, C). Как я узнаю при очистке сборки, что в сборке B или C еще есть ожидающие выполнения тесты? - Исходя из этого, я могу выполнить логику рассылки, если есть еще какие-то тесты для выполнения из других сборок, я пропущу это в текущей сборке и оставлю это в B или C. Точно так же я напишу ту же логику во все 3 сборки. Сделав это, я получу только 1 отчет для всех тестов во всех 3 сборках/проектах.

Спасибо


person Deepak    schedule 19.06.2017    source источник


Ответы (1)


Вы можете использовать параметры /Logger:trx для получения файла результатов теста. Например. vstest.console a.dll b.dll /logger:trx

person Satya Madala    schedule 25.10.2017