source open best nhibernate mstest mbunit

open - MSTest y NHibernate



java projects github (5)

¿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.


Edite localtestrun.testrunconfig (en su carpeta de elementos de 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.


Me encontré con lo mismo hace unas semanas, esto es en realidad un error con MSTest . Creo que esto se corrigió con la versión reciente del Service Pack (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(); }


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.


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


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