Ошибка при попытке запустить mstest на jenkins

Я пытаюсь настроить плагин сборки MSTest на jenkins, но я получаю следующую ошибку:

Path To MSTest.exe: mstest.exe
Result file was not found so no action has been taken. file:/C:/Program%20Files%20(x86)/Jenkins/jobs/SoftwrenchvNext/workspace/TestResult.trx
FATAL: null
java.lang.NullPointerException
    at org.jenkinsci.plugins.MsTestBuilder.perform(MsTestBuilder.java:144)

Конфигурация просто указывает TestResult.trx как ResultFileName. Этот файл не является версией, и я ожидаю, что он будет создан для каждой сборки.

Что нужно сделать для этого?

Ответы

Ответ 1

У меня тоже было такое же сообщение об ошибке!

Моей рекомендацией является замена шага "Run unit tests with MSTest". с шагом "Выполнять пакетную команду Windows". Это сработало для меня.

Команда

del TestResults.trx
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe" /testcontainer:Example.Tests\bin\Debug\Example.Tests.dll /resultsfile:TestResults.trx

Используя этот метод, вы все равно можете использовать "Опубликовать результат теста теста MSTest", указав шаг...

Тестовый отчет TRX файл

TestResults.trx

Удачи!

Кроме того, вы можете "имитировать" функциональность "Продолжить неудачу" с вызовом "ВЫХОД", как показано ниже.

del TestResults.trx
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe" /testcontainer:Example.Tests\bin\Debug\Example.Tests.dll /resultsfile:TestResults.trx /nologo
EXIT /B 0

Ответ 2

После некоторого расследования я смог заставить MSTest работать в Jenkins, выполнив следующее:

Выберите "Управление дженкинсами"

enter image description here

В разделе "Управление Jenkins" выберите "Настроить систему" ​​

enter image description here

В Configure System вам нужно найти MSTest и добавить конфигурацию MSTest

enter image description here

Введите конфигурацию по своему усмотрению. Шахта выглядит следующим образом:

enter image description here

Сохраните конфигурацию, а затем перейдите в проект сборки и настройте соответствующие элементы, как показано ниже:

enter image description here

Следует отметить, что я не выполнял ни одного из шагов, перечисленных на сайте автора, потому что они, похоже, не имели для меня никакого смысла. Однако я прочитал код и потратил некоторое время на рытье и понял, что недостающая часть находится на странице "Конфигурация системы" Дженкинса.

Ура!

Ответ 3

В конце концов я отказался от настройки MSTest через легкие панели - он не нашел бы тестовую DLL, так что, как парень выше, я использовал командную команду. Я добавил мою командную команду ниже, потому что она решает некоторые проблемы с предыдущими ответами, что они не принимают во внимание, что вам нужно удалить файл .trx перед каждым запуском или дать ему уникальное имя или тесты не удастся.

Вот мое решение, выполняемое в Jenkins как пакетная команда:

"C:Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/MSTest.exe" /resultsfile:"%WORKSPACE%/MyAppTest_%BUILD_NUMBER%.trx" /testcontainer:"%WORKSPACE%/Components/ebox2/Central/MyApp/MyAppWeb/trunk/MyAppTest/bin/Release/MyAppTest.dll" /nologo /category:Build

Обратите внимание на включение% BUILD_NUMBER% в имя файла .trx, которое обходит проблему неудачных заданий из-за дублирования файла .trx.

Обратите внимание, что /category: Build позволяет вам выбирать те тесты, которые вы хотите. Вы сами определяете категорию в тестах:

[TestCategory("Build"), TestMethod()] 

Я использую это, потому что у меня есть тесты Селена, которые я еще не выяснил, как работать в Дженкинсе, или если это возможно.