c# unit-testing visual-studio-2012 runtime-error

c# - ¿Qué significa "Método... ClassInitialize tiene una firma errónea..." significa?



unit-testing visual-studio-2012 (4)

La instalación tiene una firma incorrecta. El parámetro 1 debe ser de tipo Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.

Estaba ejecutando un proyecto de prueba de carga y tenía ambas versiones v10.0.0.0 de las DLL:

Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll Microsoft.VisualStudio.QualityTools.WebTestFramework.dll

Cambiar la versión LoadTestFramework a la versión 10.1 no lo solucionó.

Tuve que ir a mi Proyecto de prueba de unidad y eliminar las referencias de MSTest.Adapter:

Microsoft.VisualStudio.TestPlatform.TestFramework.dll Microsoft.VisualStudio.TestPlatform.Extensions.dll

Luego, en el Proyecto de prueba unitaria, agregue una referencia al v10.1.

Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll

En mi solución de Visual Studio 2012 tengo un proyecto de C # para pruebas unitarias de código C ++ / CLI, por ejemplo

... using System.IO; using Stuff; namespace MyCLIClassTest { [TestClass] public class MyCLIClassTest { public MyCLIClassTest() {} [ClassInitialize] public static void Setup(TestContext testContext) { } [TestMethod] public void LibraryAccessTest() { ... } } }

Ahora, las pruebas de C # fallan con un mensaje como "Método MyCLIClassTest.MyCLIClassTest.ClassInitialize tiene una firma incorrecta. El método debe ser estático, público, no debe devolver un valor y debe tomar un único parámetro de tipo TestContext".

Después de eliminar el ClassInitializer, obtuve "No se puede establecer la propiedad TestContext para la clase MyCLIClassTest.MyCLIClassTest. Error: System.ArgumentException: El objeto de tipo ''Microsoft.VisualStudio.TestPlatform.MSestucts.es .UnitTesting.TestContext ''..



Tuve exactamente el mismo problema y eliminar / agregar referencias según lo sugerido por TobiMcNamobi no lo resolvió, pero al eliminar la referencia, haga clic con el botón derecho en el proyecto y seleccione "Agregar> Prueba de unidad ..." y, por lo tanto, se vuelve a generar la referencia. trabajó. No estoy seguro de cuál fue la diferencia en comparación con hacerlo manualmente.


Utilicé archivos DLL de versiones anteriores del framework de pruebas unitarias. Esto sucedió porque el proyecto migró recientemente a VS2012.

Por lo tanto, en el explorador de soluciones del proyecto de prueba, encontrará "Referencias". Haga clic derecho y seleccione "Agregar referencia ..." para abrir el Administrador de referencias. Busque "unittest" y verifique Microsoft.VisualStudio.QualityTools.UnitTestFramework con el número de versión 10.1.0.0. Desmarque todas las demás versiones de este ensamblaje. Cierre el administrador haciendo clic en Aceptar.