unitarias - unit test c# visual studio 2013
La prueba de unidad ReSharper no se ejecuta en el directorio bin (4)
Lo que me ayudó con este problema: acabo de desactivar la compatibilidad con NUnit 2.x en la configuración de ReSharper (ReSharper -> Opciones ... -> Herramientas -> Prueba de unidad -> NUnit).
Preámbulo
Sé que esta pregunta parece tener respuestas aquí:
- Resharper ejecuta UnitTest desde diferentes ubicaciones
- Resharper Unit Test Runner no puede encontrar archivos de contenido
Tengo casi el mismo problema, como el corredor de prueba ReSharper 10, que no encuentra los ajustes de aplicaciones a los que se hace referencia desde un archivo externo . Pero esta respuesta decía que el problema debería haberse ido con ReSharper 10.0.2.
Pregunta
custom.xml
un archivo custom.xml
con configuraciones personalizadas, y necesito leerlas de mi prueba de unidad. Pero mi archivo no se encuentra.
Miré, donde se ejecuta el proceso, e incluí esta línea.
var curdir = Directory.GetCurrentDirectory();
Así que descubrí que el curdir
es C://Users//MYUSER//AppData//Local//JetBrains//Installations//ReSharperPlatformVs11_000
Ahora es obvio que mi archivo no se puede encontrar. Después de googlearlo, encontró las preguntas antes mencionadas. Pero ninguna de estas soluciones funciona para mí.
Estas son mis configuraciones:
Configuración de Visual Studio
Microsoft Visual Studio Ultimate 2012
Versión 11.0.61219.00 Actualización 5
NET Framework microsoft
Versión 4.6.01038
Versión instalada: Ultimate
- Herramientas de arquitectura y modelado 04940-004-0038003-02857
- Team Explorer para Visual Studio 2012 04940-004-0038003-02857
- Microsoft Team Explorer para Visual Studio 2012
- Visual Basic 2012 04940-004-0038003-02857
- Microsoft Visual Basic 2012
- Visual C # 2012 04940-004-0038003-02857
- Microsoft Visual C # 2012
- Visual C ++ 2012 04940-004-0038003-02857
- Microsoft Visual C ++ 2012
- Visual F # 2012 04940-004-0038003-02857
- Microsoft Visual F # 2012
- Windows Phone SDK 8.0 - DEU 04940-004-0038003-02857
- Windows Phone SDK 8.0 - DEU
- ASP.NET y herramientas web 2012.3.41009
- GenerateUnitTest 1.0
- Git Source Control Provider 1.0.0.0
- JetBrains ReSharper Ultimate 10.0.2 Build 104.0.20151218.120627
- Microsoft Advertising SDK para Windows Phone 6.2.923.0
- Microsoft Advertising SDK para Windows Phone Build 6.2.923.0
- Microsoft XNA Game Studio 4.0
- Microsoft XNA Game Studio 4.0
- NuGet-Paket-Manager 2.8.60318.667
- Visualizador de análisis 1.0 preemtivo
- Herramientas de datos de SQL Server 11.1.20627.00
- Herramientas de datos de Microsoft SQL Server
- Extensiones Git
No enumera ninguna versión de NUnit instalada, pero etiquetó esta ''nunit'', ¡así que voy a suponer que la está usando! Además, asumo que NUnit> = 3.0 ... ignora esto, de lo contrario. :-)
NUnit 3.0 dejó de cambiar el directorio actual. Es una mala idea que lo hagamos de todos modos y es una muy mala idea con la versión 3.0, cuando es posible que se ejecuten varios ensamblajes en diferentes directorios al mismo tiempo.
Entonces, asumiendo que aún es un problema NUnit, en lugar de usar una ruta relativa, use TestContext.CurrentContext.TestDirectory como la ubicación de su archivo.
También desactivé el soporte de NUnit 2.x e incluso si obviamente no tiene nada que ver con el problema, lo resolvió (tengo ReSharper 2017.3.20180201.111630)
prueba esto:
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);