Je veux écrire des tests pour vérifier l'existence (et d'autres choses) de certains fichiers qui seront livrés avec notre projet.Est-il possible d'avoir des éléments de déploiement dynamiques à la volée?
C'est ce que j'ai en ce moment:
[DeploymentItem("1.pdf")]
[DeploymentItem("2.pdf")]
public class DoFilesExist
{
List<string> _Files;
public DoFilesExist()
{
_Files = new List<string>();
_Files.Add("1.pdf");
_Files.Add("2.pdf");
}
delegate void fileTest(string fileName);
void Map(fileTest test)
{
foreach (string file in _Files)
{
test(file);
}
}
[TestMethod]
public void TestExists()
{
Map(x => Assert.IsTrue(File.Exists(x), x + " doesn't exist"));
}
}
Comme vous pouvez le voir, quand je veux ajouter un autre fichier à tester, je dois ajouter à la [DeploymentItem] et la _files Liste
Existe-t-il un moyen de modifier dynamiquement les objets DeploymentItems? Ou pour les attraper pendant l'exécution. Je vais probablement avoir plus de 30 fichiers ici, et je ne veux pas deux listes.
Merci d'avance!
Cet exemple simple teste le framework ... mais, je ferai plus qu'un simple appel File.Exists(). Je voulais simplifier l'exemple pour la question. – Jeremiah
Comment obtenez-vous le DeploymentItem par la réflexion? – Jeremiah
GetType(). GetCustomAttributes (typeof (DeploymentItemAttribute)) –