Cómo obtener MSTest para encontrar mis archivos de datos de prueba?


Tengo algunas pruebas que necesitan ser alimentadas con datos externos de archivos de Excel. Los archivos se incluyen en el proyecto de prueba, y en Visual Studio, he editado el archivo de configuración de prueba (Local.testsettings) para implementar los archivos de datos. Esto hace que funcione bien i VS.

Sin embargo, también estamos ejecutando una integración continua con TeamCity, y en TeamCity esto no funciona. Mis archivos de datos no están disponibles para la prueba. Parece que las pruebas se ejecutan desde una carpeta temporal llamada "C:\TeamCity\buildAgent\temp\buildTmp\ciuser_AS40VS6 2009-12-11 09_40_17 \ Out", y los archivos de datos no se copian allí.

He intentado cambiar la acción de compilación para los archivos de datos a "Resource" y establecer copy to output dir a "Always", pero eso no ayudó.

¿Alguien sabe cómo hacer que esto funcione?

Estoy ejecutando Visual Studio 2010 beta 2 y TeamCity 4.5.5, por lo que estoy ejecutando MSTest en primer lugar, y no NUnit...

Author: Daniel Elliott, 2009-12-11

2 answers

Obtengo esto agregando mis archivos de datos (en mi caso generalmente XML) como recursos incrustados y los extraigo del ensamblado de prueba.

[TestInitialize]
public void InitializeTests()
{
    var asm = Assembly.GetExecutingAssembly();
    this.doc = new XmlDocument();
    this.doc.Load(asm.GetManifestResourceStream("TestAssembly.File.xml"));
}
 20
Author: Daniel Elliott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-22 17:07:24

Este post responde a esta pregunta: MSTest copy file to test run folder

 4
Author: Matt Salmon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:11