visual unitarias unit test studio pruebas proyecto ejemplos ejecutar crear c# unit-testing visual-studio-2013 resharper

c# - test - Las pruebas unitarias de Resharper no funcionan



unit test c# visual studio 2013 (6)

Asegúrese de que no está haciendo lo que estaba haciendo y olvide por completo que la solución está en modo de lanzamiento con el proyecto de prueba configurado para compilar solo en modo de depuración ;-)

Estoy tratando de empezar a escribir pruebas unitarias en un proyecto. Primero escribí el createTest y lo probé. Esta prueba pasó y comencé a escribir mis otras pruebas.

Ahora todas mis pruebas solo dicen "Prueba no ejecutada". Esto sucede tanto cuando trato de ejecutar todas las pruebas a la vez como cuando ejecuto una sola prueba.

https://github.com/Requinard/OperationOctopus/tree/UnitTest

Todo lo que he encontrado hasta ahora es gente que usa NUnit. Estamos utilizando el marco de prueba predeterminado de Microsoft, con resharper ejecutando las pruebas.

[TestMethod] public void CreateTest() { Init.Initialize(); // set up UserModel user = new UserModel(); user.Address = "Testing Street 1"; user.Email = "[email protected]"; user.Level = 2; user.Password = "test"; user.RfiDnumber = "00d0wad0aw"; user.Telephonenumber = "0638212327"; user.Username = "testcaseuser"; Assert.IsTrue(user.Create(), "Cannot write user to database"); test_user = user; } [TestMethod] public void ReadTest() { Init.Initialize(); // set up UserModel user = getTestUser(); Assert.AreEqual(user.Email, test_user.Email, "Reading returned an unexpected result"); } [TestMethod] public void AlterTest() { Init.Initialize(); UserModel user = getTestUser(); user.Email = "[email protected]"; Assert.IsTrue(user.Update(), "Failure during updating"); user.Read(); Assert.AreNotEqual(user.Email, test_user.Email); } [TestMethod] public void DestroyTest() { Init.Initialize(); UserModel user = getTestUser(); Assert.IsTrue(user.Destroy(), "Could not destroy user"); }

Las pruebas anteriores harán que resharper diga "Prueba no ejecutada"

Acabo de intentar ejecutar las pruebas en mi computadora portátil. Trabajaron sin ningún cambio en el código y la prueba se completó instantáneamente. Esto me lleva a pensar que estoy tratando con una configuración defectuosa en algún lugar.


Creo que reiniciar todo el sistema puede haber sido un poco prematuro. He encontrado que cuando esto sucede, todo lo que necesita hacer es reiniciar Resharper.

Generalmente hago esto desde la ventana de comandos en Visual Studio, solo necesitas escribir estos comandos uno tras otro

Resharper_Suspend Resharper_Resume

esto generalmente soluciona el problema para mí y no requiere volver a abrir la solución.

Si esto falla puedes borrar los cachés de resharper. La información se puede ver here sobre cómo hacer eso.

Aquí es cómo hacerlo desde el menú VS



Me sucedió hoy y ninguna de las sugerencias anteriores (borrar el caché, reiniciar VS, suspender / reanudar de resharper) funcionó.

Sin embargo, en la pestaña Sesiones de prueba de la unidad en Error, pude ver que tuve una excepción TypeLoadException que me permitió identificar el problema.


Parece que hubo una mala configuración / en algún lugar /. Reinstalé todo el sistema, seguido de VS2013 y R #. Las pruebas ahora funcionan bien.


Se produjo un error en ReSharper 2017.3.1, que se corrigió en 2017.3.2: https://blog.jetbrains.com/dotnet/2018/02/01/resharper-ultimate-2017-3-2-bugfix/

Puede actualizar utilizando ReSharper > Help > Check for Updates .

Puede ver si tuvo el mismo error habilitando los registros . Esto es lo que yo tenía:

--- EXCEPTION #2/2 [LoggerException] Message = “Passed version string ''2.1.101'' doesn''t look to be a valid .net core sdk version”

Y eventualmente:

|W| UnitTestLaunch | System.NullReferenceException: Object reference not set to an instance of an object. at JetBrains.ReSharper.UnitTestProvider.nUnit.v30.NUnitServiceProvider.GetRunStrategy(IUnitTestElement element) at JetBrains.ReSharper.UnitTestProvider.nUnit.v30.Elements.NUnitElementBase.GetRunStrategy(IHostProvider hostProvider) at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.BuildStage.CollectProjectsToBuild() at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.BuildStage.Run(CancellationToken token) at JetBrains.ReSharper.UnitTestFramework.Launch.UnitTestLaunch.RunStage(Object stageObject)

Mi proyecto utiliza NET471 y ejecuto ReSharper 2017.3.1 en Visual Studio 15.6.27428.2005