2016-03-01 1 views
0

У меня возникла проблема в проекте, над которым я сейчас работаю. Мы запускаем сборку TFS2013 с использованием шаблона по умолчанию. Расположение вывода установлено в «PerProject». В сборке содержится 3 проекта.Настройка сборки TFS для изоляции автоматических тестов для каждого проекта

  • Раствор А, с двумя опубликованными пакетами NuGet: V1.0 & V2.0
  • Раствор B, который использует NuGet пакет V1.0 раствора А
  • Solution C, который использует NuGet пакет v2. 0 решения A

Пока что так хорошо. Однако выполнение автоматического теста в этой сборке не выполняется. Причина этого в том, что шаблон сборки по умолчанию копирует все DLL в одну папку, а затем пытается запустить VS Test Runner. Это приводит к пакету NuGet v1.0 решения A, который копируется. Из-за этого тесты Solution C не сработают, потому что они ожидают определенных классов/свойств, которых нет в пакете v1.0.

Возможным решением является обновление пакета v1.0 до версии 2.0 в решении B. Однако это не рекомендуется.

Вопрос: Возможно ли (с шаблоном по умолчанию), чтобы TFS-сборка выполняла автоматическое тестирование отдельно для каждого проекта? Это, вероятно, устранит нашу проблему.

+0

Почему вы используете две разные версии одного и того же nuget в одной сборке? Почему несколько решений? –

ответ

0

К сожалению, таких установок и тестовых сборок нет.

Если это может быть достигнуто, поэтому автоматическое тестирование должно выполняться дважды во время сборки. Насколько мне известно, автоматическая проверка будет выполняться только один раз во время сборки.

Итак, предлагаю вам обновить пакет v1.0 до версии 2.0 в решении B в вашей ситуации.