2008-08-21 6 views
7

¿Alguien tiene alguna experiencia para que MSTest copie hibernate.cfg.xml correctamente en el directorio de salida? Todos mis MSTests fallan con un error no se puede encontrar hibernate.cfg.xml (lo tengo configurado en Copiar siempre), pero mis pruebas MBUnit pasan.MSTest y NHibernate

Respuesta

12

Puede intentar agregar DeploymentItemAttribute a una de sus pruebas o editar su archivo .testrunconfig y agregarlo a la lista de Implementación.

1

una solución en lugar de una respuesta: NHibernate admite programmatic configuration. para que pueda escribir su propio archivo de propiedades/configuración nativa y analizarlo en configuraciones de hibernación al inicio.

2

Corrí a lo mismo hace unas semanas - esto es en realidad un bug with MSTest - Creo que esto se corrigió con el reciente Service Pack Release (aunque todavía dice "Activo"). Si no, todo lo que tenía que hacer era hacer referencia a mi hibernate.cfg.xml directamente (descuidado pero funciona para las pruebas; esto hace referencia al archivo hibernate.cfg.xml en mi proyecto de pruebas de la carpeta "TestResults"):

try 
      { 
       sessionFactory = new Configuration() 
        .Configure() 
        .BuildSessionFactory(); 
      } 
      // Assume we are in "MSTest mode" 
      catch (Exception) 
      { 
       sessionFactory = new Configuration() 
        .Configure(@"..\..\..\Program.Tests\" + @"\hibernate.cfg.xml") 
        .BuildSessionFactory(); 
      } 
1

Me gusta marcar mis archivos de configuración de NHibernate como recursos incrustados, y usar la sobrecarga Configuration.Configure() que lee los archivos de configuración de los recursos de ensamblaje.

4

Editar localtestrun.testrunconfig (en la carpeta de elementos de la solución). Seleccione la opción de implementación y agregue el archivo hibernate.cfg.xml a la lista de archivos adicionales para implementar. El archivo debería copiarse en el directorio de salida donde se ejecuta la prueba.

Cuestiones relacionadas