Esta pregunta se responde en la actualidad, pero para los empleados de Google en busca de otras posibilidades:
Si obtiene DirectoryNotFoundException
porque la prueba está buscando en C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common...
en lugar de en bin\Debug\...
, significa que su adaptador de prueba se está ejecutando desde una ruta que no es el directorio de salida de su proyecto de prueba.
Para solucionar esto, se puede conseguir que el directorio de bin\Debug\...
buscando el directorio de la DLL de prueba de este modo:
using System.IO;
using System.Reflection;
// Get directory of test DLL
var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
// dir is now "C:\...\bin\Debug" or wherever the executable is running from
Tiré que en una clase estática TestHelpers
en el proyecto de prueba para que pueda utilizar en cada prueba que necesita cargar archivos externos.
El código es cortesía de this answer.
por supuesto :) wikid :) Totoally se olvidó de eso. También edité la ruta para incluir la carpeta para que sea técnicamente correcta. Salud. Muy apreciado como siempre –
Para _alternative_ forma que necesita establecer 'Build Action' del archivo como' EmbeddedResource', no solo 'Resource'. Estaba confundido porque 'WPF' lo trata de otra manera: [link] (https://stackoverflow.com/questions/9419611/how-to-refer-to-embedded-resources-from-xaml) – Ghosthack
La primera El método no funciona cuando la prueba está siendo ejecutada por el corredor de prueba de ReSharper. Intenta cargar el archivo desde "AppData \ Local \ JetBrains \ Installations \ ....".Si usa nunit, la solución es usar primero "TestContext.CurrentContext.TestDirectory" en el directorio correcto. – emirhosseini