Pergunta

Tentei recentemente usar o NAnt (beta 0.86.2962.0) para executar alguns testes unitários compilados com a última versão estável do NUnit (v2.4.8) sem sucesso.

O erro que recebo é o seguinte:

[nunit2] O assembly "C:\Dev\MySample\bin ests\My.Sample.Tests.dll" não contém testes.

Claro, o assembly contém testes que posso executar em qualquer executor, como NUnit one, TestDriven ou Resharper.Eu gostaria de usar a tarefa <nunit2>, e não diretamente a <exec>, mas estou me perguntando se ainda é possível, mesmo usando arquivos app.config para vincular versões do assembly.

Foi útil?

Solução

Não me lembro por que, mas desisti de usar a tarefa <nunit2> e tenho usado a tarefa <exec> e nunit-console.exe felizmente.Se ajudar, aqui está meu alvo de teste que executa NUnit e FxCop.Observe que ele os ignora se os executáveis ​​não estiverem no caminho do Windows.

<target name="test" description="Run unit tests" depends="build">
  <property name="windows-path" value="${string::to-lower(environment::get-variable('PATH'))}"/>
  <property name="nunit-in-path"
      value="${string::contains(windows-path, 'nunit')}"/>
  <echo message="Tests skipped because no NUnit folder was found in the Windows path."
      unless="${nunit-in-path}"/>
  <exec program="nunit-console.exe" if="${nunit-in-path}">
      <arg file="../MyProject/MyProjectTest.nunit"/>
  </exec>
  <property name="fxcop-in-path"
      value="${string::contains(windows-path, 'fxcop')}"/>
  <echo message="FxCop skipped because no FxCop folder was found in the Windows path."
      unless="${fxcop-in-path}"/>
  <fxcop projectFile="../MyProject/MyProject.fxcop" directOutputToConsole="true" 
      failOnAnalysisError="true" if="${fxcop-in-path}"/>
</target>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top