запускать nunit-тесты с атрибутом TestCase из nant - PullRequest
3 голосов
/ 09 сентября 2011

я использовал эту задачу nant для моих тестов nunit.

<nunit2 failonerror="false">
  <formatter usefile="true"
             outputdir="build"
             type="Xml"
             extension=".xml"/>
  <test>
    <assemblies>
      <include name="Build/*.Tests.dll"/>
    </assemblies>
    <references >
      <include name="Tools/**/*.dll"/>
      <include name="Build/*.dll"/>
    </references>
  </test>
</nunit2>

Приятно было то, что я мог использовать его в нескольких проектах, ничего не меняя. Проблема в том, что в некоторых моих тестах он игнорирует атрибуты TestCase и ExpectectException, что приводит к их сбою. Я видел предложение использовать задачу exec для вызова nunit-console.exe, но затем я должен указать все тестовые библиотеки по отдельности. Это означает, что я больше не могу использовать его во всех своих проектах, не редактируя его. Мне бы все пришлось редактировать каждый раз, когда я добавляю тестовый проект в одно из своих решений.

Есть ли способ получить лучшее из обоих миров?

1 Ответ

2 голосов
/ 09 сентября 2011

Вы можете использовать <foreach> для запуска ваших тестов:

<foreach item="File" property="test-assembly">
  <in>
    <items>
      <include name="${binaries-dir}/*" />
    </items>
  </in>
  <do>
    <exec program="${nunit.exe}" workingdir="${binaries-dir}"
        managed="true">
      <arg value="/nologo" />
      <arg value="${test-assembly}" />
    </exec>
  </do>
</foreach>
...