XML-файл результата Nunit не обновляется во время сборки Jenkins

Я настроил тесты NUnit для запуска после завершения сборки (Jenkins)

Я добавил следующее в окно командной строки Excecute windows batch в Jenkins.

rmdir ClickOnceInstall / Q / S

mkdir ClickOnceInstall

CD BuildScripts

Start.bat

"C: \ Program Files (x86) \ NUnit 2.6.2 \ bin \ nunit-console-x86.exe" AA.Tests \ bin \ x86 \ Release \ AA.Tests.dll /xml=nunit-result.xml

Кажется, что команда Execute unit test не создает файл результатов с указанным именем и не помечен как сбойный. Однако когда я запускаю команду nunit test вручную, она создает файл. При следующей сборке через Jenkins, XML-файл результата, похоже, не обновляется, но не дает сбоя.

мне не хватает какой-либо конфигурации или чего-то еще?


person chenk    schedule 21.04.2014    source источник
comment
XML-файл будет в текущем рабочем каталоге при вызове NUnit. Вы проверили этот каталог. (Командные файлы могут быть записаны для вас, поэтому проверьте start.bat.) Кроме того, дает ли вывод консоли какие-либо подсказки?   -  person jwernerny    schedule 21.04.2014


Ответы (1)


Помогло бы, если бы вы вставили журнал консоли.

Однако я сначала хочу попросить вас добавить call в оператор командного файла:
call Start.bat

Если этот пакетный файл имеет оператор exit /b (даже с 0), он завершит весь этап вызова (например, «Выполнить пакетную команду Windows»), не переходя к вашему последнему оператору (например, команде nunit).

Использование call перед пакетным файлом гарантирует, что управление будет возвращено вызывающему этапу.

person Slav    schedule 21.04.2014
comment
да. Это могло быть проблемой. Я добавил call Start.bat, как вы упомянули. Однако по-прежнему кажется, что пропускается команда «Выполнить пакетную обработку Windows». - person chenk; 21.04.2014
comment
@chenk Пожалуйста, вставьте вывод консоли, если требуется дальнейшая отладка - person Slav; 21.04.2014
comment
В выводе консоли ничего не записано, так как похоже, что console-runner не вызывает, и, как вы сказали, он выходит после завершения start.bat. - person chenk; 21.04.2014
comment
Пожалуйста, измените всю строку на call Start.bat && echo success || echo failed. Вы должны увидеть хотя бы одно из эхо. Еще раз вставьте консоль (отредактируйте исходный вопрос). У него могут быть подсказки, которых мы не видим. - person Slav; 21.04.2014
comment
Проблема обнаружена. где-то во внутреннем командном файле использовалась команда Exit, которая заставляла элемент управления пропускать этап вызова и выходить. После замены как «EXIT / B 0» он работает должным образом. Большое спасибо за ваши идеи, которые помогли мне разобраться в этой проблеме. - person chenk; 22.04.2014