Tengo una clase de prueba y debajo he publicado una prueba de muestra de la clase de prueba
namespace AdminPortal.Tests.Controller_Test.Customer
{
[TestClass]
public class BusinessUnitControllerTests
{
private IBusinessUnitRepository _mockBusinessUnitRepository;
private BusinessUnitController _controller;
[TestInitialize]
public void TestInitialize()
{
_mockBusinessUnitRepository = MockRepository.GenerateMock<IBusinessUnitRepository>();
_controller = new BusinessUnitController(_mockBusinessUnitRepository);
}
[TestCleanup]
public void TestCleanup()
{
_mockBusinessUnitRepository = null;
_controller.Dispose();
_controller = null;
}
#region Index Action Tests
[TestMethod]
public void Index_Action_Calls_GetAllBusinessUnit()
{
_mockBusinessUnitRepository.Stub(x => x.GetAllBusinessUnit());
_controller.Index();
_mockBusinessUnitRepository.AssertWasCalled(x=>x.GetAllBusinessUnit());
}
}
}
Cuando ejecuto el proyecto aparece la siguiente pantalla
Revisé las referencias y el proyecto de prueba tiene la referencia al proyecto principal. ¿Alguna idea de por qué la prueba no se ejecuta o dice que no fueron concluyentes?
Editar 1:
Vi una publicación aquí y cambié la arquitectura de procesador predeterminada de la configuración de mi prueba a X64, pero todavía no funciona.
c#
asp.net-mvc
asp.net-mvc-4
unit-testing
resharper
Cybercop
fuente
fuente
Respuestas:
En caso de que ninguna de las opciones anteriores funcionó para nadie, arreglé mi instancia de este error al notar una entrada corrupta en mi App.Config debido a un paquete nuget faltante en el proyecto de prueba.
fuente
<configSections>
.Para mí fue bastante frustrante, pero al menos he encontrado una solución para mi caso:
Si su TestMethod es asíncrono, no se puede anular. DEBE devolver la tarea.
Espero que ayude a alguien :)
fuente
Tuve el mismo problema con resharper y corrigí este error al cambiar una opción:
Resharper => Opciones => Herramientas => Prueba de unidad
Solo tuve que desmarcar la opción "Ensambles de instantáneas que se están probando"
fuente
Era un problema de Resharper. En las opciones de Resharper-> Herramientas-> MSTEST, desmarqué Usar Legacy Runner y ahora funciona.
fuente
Estaba teniendo este problema, y resultó ser el mismo que este problema aquí . Esta respuesta resolvió el problema para mí .
La segunda vez que llegué a este problema, se debió a un ampersand en la ruta del archivo al proyecto donde residen las pruebas. Funciona bien con el corredor de prueba de ReSharper, pero no con dotCover. Elimina el ampersand de la ruta del archivo.
Este es un error confirmado con dotCover.
fuente
Para mí, simplemente limpiar y reconstruir la solución lo arregló.
fuente
Para mí, el problema era un archivo XML de configuración de NUnit / ReSharper corrupto (debido a una escasez inesperada de energía).
Para identificar el error, inicié Visual Studio con este comando :
Examinar el archivo reveló la siguiente excepción:
Tenga en cuenta que esto NO es la aplicación.config del proyecto de prueba.
Una búsqueda rápida en Google identificó el siguiente archivo como el culpable:
Existía, pero estaba vacío. Eliminarlo y reiniciar Visual Studio resolvió el problema.
(Usando Visual Studio Professional 2017 v15.3.5 y ReSharper 2017.2.1).
fuente
Enfrenté este problema en vs 2017 actualización 3 con Resharper Ultimate 2017.2
Reiniciar o reiniciar la máquina no puede ayudar.
Resolví el problema borrando la caché de la siguiente manera:
Actualizar:
Hay un "error" de botón (lo encuentro en Resharper 2018) en la esquina superior derecha de la ventana de prueba.
Si hace clic en el botón de error, muestra un mensaje de error que puede ayudar a resolver el problema.
Para rastrear la raíz del problema, ejecute Visual Studio en modo de registro. En vs 2017, ejecute el comando:
Ejecute la prueba
Revise el archivo de registro test_log.txt y busque 'error' en el archivo.
El archivo de registro es de gran ayuda para encontrar el error que puede resolver o puede enviar el problema con el archivo de registro al equipo de soporte técnico de Resharper .
fuente
También solucioné este problema también. Sin embargo, ninguna de las soluciones en este hilo funcionó. Esto es lo que hice ...
Dado que R # no estaba dando ningún detalle sobre por qué las cosas estaban fallando, decidí probar el corredor de prueba VS2013 incorporado. Experimentó exactamente el mismo comportamiento donde ninguna de las pruebas se ejecutó. Sin embargo, mirando en la ventana Salida, finalmente tuve un mensaje de error:
Esto me llevó a otro hilo en SO con una solución. Créeme, NUNCA habría adivinado cuál era el problema.
Recientemente hice algunos cambios en el archivo AssemblyInfo.cs al crear un paquete NuGet. Uno de los cambios incluye la especificación de un valor de cultura de ensamblado de "en".
Cambié esto:
a esto:
¡Eso fue todo! Eso es lo que inexplicablemente rompió mis pruebas unitarias. Sin embargo, todavía no entiendo por qué. Pero al menos las cosas están funcionando de nuevo. Después de revertir este cambio (es decir, volver a establecer la cultura ""), mis pruebas comenzaron a ejecutarse nuevamente.
Espero que ayude a alguien por ahí.
fuente
En mi caso, los
[Test]
métodos eran justosprivate
. Vergüenzafuente
Mi problema era que solo había instalado NUnit con nuget. No había instalado NUnit3TestAdapter, que también era necesario.
fuente
En mi caso, fue un error que cometí al copiar la cadena de conexión en la app.config ... ¡Lo había puesto dentro de la etiqueta configSections!
Me tomó un tiempo darme cuenta de eso ... gracias VS intellisense ... ¿o fue un compartidor?
fuente
Tuve un problema similar. VS 2010, c # CLR 2 Nunit 2.5.7, solo compilar> la solución limpia de VS ayudó a resolver este problema
fuente
En mi caso, creé un método de prueba asíncrono que regresó
void
. El regreso de enTask
lugar devoid
resuelto el problema.fuente
¿Has agregado alguna dependencia de DLL recientemente? ... como yo
Me encontré con el mismo problema y fue muy exasperante no tener ninguna pista en la ventana de salida de prueba o en otro lugar práctico.
La causa fue extremadamente estúpida: acabo de agregar el día anterior a la dependencia a un archivo DLL externo adicional en un subproyecto, y la aplicación principal del proyecto se compiló y ejecutó correctamente después del cambio. Pero mis pruebas unitarias están en un proyecto asociado a la aplicación principal, y por lo tanto también dependía de este subproyecto modificado donde se invocó la DLL ... sin embargo, ¡la ubicación del tiempo de ejecución del proyecto de prueba no es la de la aplicación principal! Por lo tanto, cambiar la compilación para hacer la copia de la DLL que falta en el directorio de tiempo de ejecución de prueba solucionó el problema.
fuente
Estoy usando VS2013, ReSharper 9.1 con la extensión MSpec de ReSharper y Moq. Experimenté el mismo error "no concluyente".
Resultó que uno de mis Simulacros de Moq no se inicializó, solo se declaró. Unos inicializaron todas las pruebas corrieron nuevamente.
fuente
En mi caso, recibí este error debido al modo 'Release' donde la construcción del proyecto UnitTests simplemente se apagó. Cambiar de nuevo al modo 'Depurar' lo arregló.
Es realmente sorprendente que ReSharper no pueda decir nada en caso de que no pueda encontrar la biblioteca UnitTests en absoluto. En serio, es una pena;)
Espero que ayude a alguien
fuente
En mi caso, todos pruebas dentro de algunos proyectos de prueba dentro de una solución comenzaron a no ejecutarse después de agregar nuevos proyectos. Usando VS 2017 con ReSharper 2017.1.2 aquí.
En primer lugar, asegúrese de no perder el tiempo asumiendo que su problema está relacionado con ReSharper. Es fácil suponer que hay algo mal con ReSharper si utiliza sus funciones de prueba de unidad, incluido el Explorador de prueba de unidad . Abra el Explorador de pruebas de Visual Studio en el menú Prueba e intente Ejecutar todo ". La ventaja adicional de hacer esto es que la ventana de salida mostrará un mensaje de error que podría indicarle la dirección correcta. Si observa que el mismo conjunto de pruebas no se ejecutan, entonces es seguro asumir que el problema es con Visual Studio y no con ReSharper.
Terminé eliminando y volviendo a agregar una de la plataforma de solución Active , Any CPU , en Configuration Manager . Al hacerlo, después de guardar mis cambios y volver a abrir la solución, todas las pruebas comenzaron a ejecutarse nuevamente.
Creo que hubo una entrada de configuración inesperada en el archivo de la solución cuando agregué nuevos proyectos y al volver a crear una de las plataformas, se corrigió. Intenté diferir pero fue difícil saber qué había cambiado para causar el problema.
fuente
Para aquellos que están experimentando este problema para mi proyecto de prueba
.NET Core 2.0
en elVisual Studio 2017 Community (v15.3 3)
. También tuve este error usandoJetBrains ReSharper Ultimate 2017.2 Build 109.0.20170824.131346
- hay un error que publiqué.JetBrains aconsejó crear un nuevo proyecto de prueba desde cero para reproducirlo. Cuando hice eso y obtuve pruebas que funcionaban bien, encontré la razón que causaba el problema:
*.csproj
archivo:Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}
"Cuando hice eso, las pruebas comenzaron a funcionar bien.
fuente
Estoy usando VS2010, NUnit 2.6.3 (aunque internamente ReSharper dice que está usando 2.6.2?), ReSharper 7.7.1 y NCrunch 2.5.0.12 y estaba corriendo en la misma cosa "... la prueba no es concluyente ..." con NUnit, pero NCrunch dijo que todo estaba bien. Durante la mayor parte del día, NUnit y NCrunch estuvieron sincronizados y acordaron qué pruebas eran felices y cuáles necesitaban ser refactorizadas, luego sucedió algo que todavía no entiendo, y durante un tiempo NCrunch dijo que tenía pruebas fallidas (pero al pasar por ellas se las mostró a pase), luego decidí que todos estaban trabajando, y NUnit comenzó a quejarse de todas mis pruebas, excepto una con el mismo mensaje "... la prueba no es concluyente ...", que pude volver a pasar a pesar de que NUnit continuó para mostrarlo como "no concluyente").
Intenté varias de las sugerencias anteriores en vano, y finalmente cerré VS2010 y volví a abrir la solución. Voila, ahora todas mis pruebas son felices nuevamente, y NCrunch & NUnit están reportando los mismos resultados nuevamente. Desafortunadamente, no tengo idea de qué cambió para que no estén sincronizados, pero cerrar y volver a abrir VS2010 parece haberlo solucionado.
Tal vez alguien más se encuentre con esto y pueda usar esta solución simple (si finalmente no es satisfactoria ya que no sabe cuál es la solución real).
fuente
Tuve el mismo problema. El culpable era una referencia externa que no era compatible con la configuración de compilación de mi proyecto. Para resolverlo, hice clic derecho en el proyecto-> propiedades-> compilación-> Objetivo de plataforma-> cambiar de cualquier CPU a x86.
El * .dll particular con el que estaba trabajando era System.Data.SQLite. Ese * .dll particular está codificado para una operación de 32 bits. La configuración "Cualquier CPU" intentó cargarlo como 64 bits.
fuente
Mi solución:
NUnit 3.2.0 tiene algunos problemas con Resharper - rebaja a 2.6.4:
fuente
En mi caso, mi método de prueba era privado, lo cambié a público y funcionó.
fuente
Causado por el archivo App.Config faltante (no dañado). Agregar nuevo (Agregar -> Nuevo elemento ... -> Archivo de configuración de la aplicación) lo arregló.
fuente
Tuve el mismo problema. Estaba relacionado con la versión de compatibilidad entre NUnit 3.5 y Resharper 9.2, ya que se resolvió bajando de NUnit 3.5 a 2.6.4. A mí me funcionó. buena suerte.
fuente
Si está utilizando
xUnit
, resolví el problema al instalar elxunit.running.visualstudio
paquete. (actualmente usandoxUnit 2.3.1
yVS17 Enterprise 15.3.5
)fuente
Estaba teniendo el mismo problema para ejecutar cualquier prueba usando el marco NUnit. "No concluyente: prueba no ejecutada" Visual Studio 2017 15.5.6
ReSharper Ultimate 2017.3.3 Build 111.0.20180302.65130
SOLUCIONADO Agregar dependencia de proyecto a Microsoft.NET.Test.Sdk
fuente
Para quienes tienen prisa por la ejecución de la prueba, tuve que usar el explorador de prueba VS 2017 para ejecutar las pruebas;
fuente
Este error ocurrió con Visual Studio 2017 y resharper versión 2018.2.3 pero la solución se aplica a las versiones de Visual Studio 2019.
La solución, para que las pruebas funcionen en Resharper, era simplemente actualizar a la última versión de Resharper (2019.2.1) en el momento de la redacción.
fuente
Tuve exactamente el mismo problema y nada ayudó.
finalmente vi que tenía una falta de coincidencia en mis espacios de nombres del proyecto de la unidad y el proyecto de prueba de la unidad.
El espacio de nombres de mi proyecto de unidad es unit.project y el proyecto de prueba se denominó unit.project.tests pero el espacio de nombres predeterminado de la prueba era el mismo que la unidad, ambos eran unit.project.
Una vez que actualicé los espacios de nombres para que fueran diferentes (un espacio de nombres para cada proyecto), ¡todo funcionó!
fuente