Дженкинс MSTest Issue - PullRequest
1 голос
/ 08 июня 2011

Я настроил Дженкинса в качестве CI для проекта, который использует Mercurial в качестве управления исходным кодом.Я использую плагин MSTest в Jenkins для просмотра результатов теста, и я написал команду bat для генерации файла результатов теста

del results.trx
mstest /testcontainer:Example\TestProject1\bin\debug\TestProject2.dll /resultsfile:results.trx

. В консоли выдается сообщение об ошибке «Файл \ Example \ TestProject1 \ bin \ debug».\ TestProject2.dll "не найден"

, когда происходит каждая сборка, папка создается в% WORKSPACE% с новым именем (SYSTEM_My_Computer_Name 2011-06-08 13_04_11). В этом тесте dll находится в каталоге с именемКак я могу получить путь к этой DLL, потому что имя каталога изменяется для каждой сборки?

Это работает нормально, когда я использовал абсолютный URL-адрес, такой как "c: \ Example \ TestProject1 \ bin \ debug \TestProject2.dll "

Как мы можем сослаться на вновь созданную dll? Нужно ли добавлять тестовый dll-файл в хранилище?

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Jenkins запускает файлы bat с %WORKSPACE% в качестве текущего каталога.

Как указывает сообщение об ошибке, относительный путь к тестовому контейнеру неверен.Я могу думать о двух вещах, которые могут быть проблемой здесь:

  • Структура папок в %WORKSPACE% не соответствует вашему относительному пути.Добавление отдельного cd в файл bat покажет на выходе сборки, где он находится.Вы также можете использовать ссылки в веб-интерфейсе Jenkins для просмотра рабочей области.

  • Вы создаете другую цель msbuild в Jenkins, например release .Тогда \ bin \ debug может не существовать.

1 голос
/ 16 декабря 2011

Папка «SYSTEM_My_Computer_Name 2011-06-08 13_04_11» не создается Jenkins во время сборки, но создается mstest при запуске теста.Корневая папка, когда вызывается mstest, является корневой папкой рабочей области, поэтому файл testcontainer должен быть указан из корня рабочей области.

Например, скажем, если файл dll находится в C: \ jenkins \ jobs \\workspace \ TestProject1 \ bin \ debug \ TestProject2.dll (предположим, что ваш jenkins установлен в c: \ jenkins).

Команда должна быть (относительно корневой папки рабочей области):

mstest /testcontainer:TestProject1\bin\debug\TestProject2.dll /resultsfile:results.trx

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