Pregunta

He estado recibiendo esta excepción al intentar ejecutar pruebas de especificación MSPEC con TD.NET.

------ Test started: Assembly: DesignRightWeb.Specs.dll ------

Error: Runner failure: System.Runtime.Serialization.SerializationException: Type is not         resolved for member 'Machine.Specifications.Runner.RunOptions,Machine.Specifications,     Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'.
   at System.AppDomain.CreateInstanceAndUnwrap(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes)
   at     Machine.Specifications.Runner.Impl.AppDomainRunner.CreateRunnerAndUnloadAppDomain(String     runMethod, AppDomain appDomain, Assembly assembly, Object[] args) in d:\BuildAgent-    01\work\340c36596c29db8\Source\Machine.Specifications\Runner\Impl\AppDomainRunner.cs:line     81
Test 'T:DesignRightWeb.Specs.given_a_string_calculator' failed: Type is not resolved     for member 'Machine.Specifications.Runner.RunOptions,Machine.Specifications,     Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'.
    System.Runtime.Serialization.SerializationException: Type is not resolved for member 'Machine.Specifications.Runner.RunOptions,Machine.Specifications, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'.
    at System.AppDomain.CreateInstanceAndUnwrap(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes)
    at Machine.Specifications.Runner.Impl.AppDomainRunner.CreateRunnerAndUnloadAppDomain(String runMethod, AppDomain appDomain, Assembly assembly, Object[] args)
    at Machine.Specifications.Runner.Impl.AppDomainRunner.RunMember(Assembly assembly, MemberInfo member)
    at Machine.Specifications.TDNetRunner.SpecificationRunner.RunMember(ITestListener testListener, Assembly assembly, MemberInfo member)
    at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener, ITraceListener traceListener, String assemblyPath, String testPath)
    at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()

0 passed, 1 failed, 0 skipped, took 1.12 seconds (MSpec).

Intenté instalar MSPEC directamente desde GitHub y también lo instalé usando NUGET. Después de eso, mientras recibí esta misma excepción, desinstalé TD.NET y reinstalé TD.NET. Todavía recibiendo esta excepción.

¿Algunas ideas? ¿Pensamientos? Soluciones?

¿Fue útil?

Solución

¿Podría ser que necesite registrar el Runner de prueba MSPEC en Testdriven.net? Mira esta publicación para ayudarte:

http://eduncan911.com/blog/registering-mspec-runners-for-testdriven-net-on-windows-x64.aspx

Otros consejos

Si registró el corredor TD.NET antes, no lo registre (podría ser necesario un poco de piratería de registro, ver InstallTDNetRunner.bat cómo deshacer).

Asegúrese de ejecutar td.net> = 2.24. Agregue el paquete Nuget a su proyecto y ejecute pruebas a través de TD.NET. El paquete Nuget también contiene un Runner de Resharper actualizado que puede instalar.

Si el error aún persiste, es muy probable que tenga una versión antigua de MSPEC referenciada en alguna parte. La versión anterior es 0.3.0.0, mientras que Nuget está actualmente en 0.4.7.0.

(Podría agregar: cuando publicó su pregunta, teníamos un paquete Nuget aportado por alguien. Ese paquete no contenía el corredor TD.NET apropiado. El problema que describió debe resolverse ahora que tenemos un nuevo paquete Nuget que contiene todos los corredores.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top