c# unit-testing visual-studio-2012 vs-unit-testing-framework deploymentitem

c# - DeploymentItem no implementa archivos



unit-testing visual-studio-2012 (3)

He encontrado dos posibles soluciones en este hilo :

  1. Establezca la propiedad "Copiar en la carpeta de salida" de sus archivos de implementación en "Copiar siempre" (consulte el apartado Problemas con el artículo de implementación )
  2. Verifique la configuración "Habilitar la implementación" en el archivo Local.testsettings (vea Problemas con el atributo DeploymentItem )

Espero que esto ayude.

Estoy utilizando el MS unit testing framework para probar mi biblioteca de C #. Tengo que abrir un archivo que estoy implementando usando el DeploymentItem attribute . Pero no está implementando el archivo en el directorio de implementación de prueba.

En mi proyecto de prueba de unidad, creé una carpeta TestFile en esta carpeta hay varios archivos, digamos a.txt, b.txt.

Ahora, en mi clase de prueba de unidad, agregué el atributo DeploymentItem. Pero el archivo no se está copiando.

Aquí está mi código.

[TestClass] [DeploymentItem("TestFile")] public class CustomLibraryTest { public TestContext TestContext { get; set; } [TestMethod] [DeploymentItem(@"TestFiles/a.txt")] // THis should deploy a.txt to test deployment directory { var path = TestContext.TestDeploymentDir + "a.txt"; // Now when I debug this unit-test, and open path in explorer, // a.txt is not present in "TestResults/Deploy_fhafeez 2013-05-28 13_02_37/Out" folder } }

¿Que estoy haciendo mal?


Para referencias futuras, de lo que he notado usando VS 2015: la ruta que especifique en el atributo del elemento de implementación debe ser relativa a la salida de la compilación (carpeta de depuración). Si la estructura de su carpeta es "UnitTesting / TestData / Test.xml", el DeploymentItem debe ser DeploymentItem (".. / .. / TestData / Test.xml") En este caso, la carpeta TestData no debe incluirse en el proyecto UnitTesting.


Tenía un conjunto de pruebas en las que la copia funcionaba para algunas pruebas, pero no la más reciente, a pesar de que el atributo DeploymentItem estaba configurado exactamente de la misma manera. Después de agotar todo lo demás, hice una "Solución limpia" en la solución y la repetí y comencé a copiar correctamente. YMMV