nunit2 задача Nant всегда возвращает код завершения 0 (TeamCity 5.0) - PullRequest
0 голосов
/ 24 декабря 2009

Я просто не могу на всю жизнь заставить свой nant файл сборки завершиться при неудачном завершении теста и вернуться (что препятствует выполнению шага упаковки и артефакта)

Это единичная часть файла nant:

<target name="unittest" depends="build">
  <nunit2 verbose="true" haltonfailure="false" failonerror="true" failonfailureatend="true">
   <formatter type="Xml" />
   <test assemblyname="Code\AppMonApiTests\bin\Release\AppMonApiTests.dll" />
  </nunit2>
</target>

И независимо от того, какую комбинацию true / false я установил в свойствах haltonfailure, failonerror, failonfailureatend, результат всегда будет таким:

[11:15:09]: Some tests has failed in C:\Build\TeamCity\buildAgent\work\ba5b94566a814a34\Code\AppMonApiTests\bin\Release\AppMonApiTests.dll, tests run terminated. 
[11:15:09]: NUnit Launcher exited with code: 1
[11:15:09]: Exit code 0 will be returned.1

Пожалуйста, помогите, так как я не хочу публиковать бинарные файлы, где модульные тесты не прошли !!!

TeamCity 5.0 build 10669

Ссылки AppMonApiTests.dll

nunit.framework.dll v2.5.3.9345

модуль не установлен на сервере сборки или GAC'd

Использование Nant-0.85 и Nantcontrib-0.85

Спасибо, Jonathan

1 Ответ

0 голосов
/ 24 декабря 2009

Это цель, которую я использую, и она завершается, если какой-либо тест не пройден:

<target name="test" depends="compile_tests,copy_dependencies">
    <mkdir dir="${testlogdir}"/>

    <echo message="Please make sure that nunit-console is in your path."/>
    <echo message="This file can be found in the NUnit bin directory."/>

    <nunit2 verbose="true">
        <formatter type="Xml" usefile="true" outputdir="${testlogdir}" extension=".xml"/>
        <formatter type="Plain" usefile="true" outputdir="${testlogdir}" extension=".txt"/>
        <test assemblyname="${build_classdir}\${namespace_file}.Test.dll"/>
    </nunit2>

</target>

Итак, для начала, вы можете попробовать удалить:

haltonfailure="false" failonerror="true" failonfailureatend="true"

Кажется, что они не должны вызывать проблемы, но попытайтесь заставить что-то базовое работать, а затем вы можете начать добавлять атрибуты, чтобы увидеть, что заставляет его перестать работать.

...