Ошибка при попытке запустить 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()]
Я использую это, потому что у меня есть тесты Селена, которые я еще не выяснил, как работать в Дженкинсе, или если это возможно.