Error al ejecutar nunit

Imagen de gspadari
0 puntos

Estoy teniendo problemas al ejecutar el task nunit2 de NAnt.

Ejecuto "nant -v runtests" y recibo este error:

NAnt.Core.BuildException: /projects/sm/trunk/code/projects/Tests/Tests.build(78,10):
Failure executing test(s). If you assembly is not built using NUnit version 2.2.8.0,
then ensure you have redirected assembly bindings. Consult the documentation of the 
 task for more information. ---> System.IO.FileNotFoundException: System : System

My nant target es:

    <target name="runtests" depends="debug" description="Ejecuta los tests unitarios">
        <nunit2 verbose="true">
            <formatter type="Plain" />
            <test assemblyname="${target}/${project::get-name()}.dll" appconfig="${project::get-name()}.dll.config" />
        </nunit2>
    </target>

Y en mi dll.config tengo:

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="nunit.framework" publicKeyToken="96d09a1eb7f44a77" culture="Neutral" />
                <bindingRedirect oldVersion="2.0.6.0" newVersion="2.2.8.0" />
                <bindingRedirect oldVersion="2.1.4.0" newVersion="2.2.8.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>

Alguna idea de lo que pueda estar pasando?
Gracias.

Imagen de gspadari
+1
0
-1

Entre tanta búsqueda, leí por ahí que la versión de nunit-console que instala ubuntu con sus packages no funciona con la versión 2.0 del framework.

El workarround es bajar del sitio de nunit la versión para net-2.0 y armar un target que invoque a nunit con un exec así:

    <target name="runtests" depends="debug" description="Ejecuta los tests unitarios">
    	<if test="${platform::is-unix()}">
			<property
		      name="nunit.exe"
		      value="/opt/dev/NUnit-2.2.9-net-2.0/bin/nunit-console.exe" />
		    <echo message="${target}/${project::get-name()}.dll" />
		    <exec program="${nunit.exe}" workingdir="${target}" useruntimeengine="true">
		      <arg value="${project::get-name()}.dll" />
		    </exec>
		</if>
    	<if test="${not platform::is-unix()}">
	        <nunit2 verbose="true">
	            <formatter type="Plain" />
	            <test assemblyname="${target}/${project::get-name()}.dll" appconfig="${project::get-name()}.dll.config" />
	        </nunit2>
        </if>
    </target>
+1
0
-1