J'ai un certain nombre de classes et méthodes d'essai qui copie un répertoire particulier comme ceci:DeploymentItem échoue répertoires de copie quand il y a des projets de test multiples par solution
[TestClass, DeploymentItem("LanguageData", "LanguageData")]
public class OcrTests
{
[TestMethod]
public void Can_Capture_Field()
{
// some code that expects the LanguageData directory to be in the test results Out directory
}
// etc
}
[TestClass]
public class OcrBuilderTests
{
[TestMethod, DeploymentItem("LanguageData", "LanguageData")]
public void Can_Build_Specific_Ocr_Engine_Implementation()
{
// some more code that expects the LanguageData directory to be in the test results Out directory
}
// etc
}
Ces essais sont en un seul ensemble et tous les fichiers dans le répertoire LangaugeData, leur Copy to Output Directory
est défini sur Copy Always
. Tout fonctionne correctement et le répertoire est copié dans le répertoire des résultats de test Out
tant que je n'ai qu'un seul ensemble de test chargé dans la solution ou que c'est le seul assemblage testé (c.-à-d. /classe).
Dès que j'ajoute un second ensemble et exécuter tous les tests dans la solution alors que le répertoire ne se duplicable, mais tout autre DeploymentItems qui ne sont que des fichiers individuels semblent copiés bien.
Les tests eux-mêmes sont toujours exécutés, mais ceux qui dépendent de ce répertoire tombent en panne. Vraisemblablement parce que MSTest ne peut pas trouver le répertoire - peut-être s'attend-il à ce qu'il soit dans le répertoire de construction de l'un des autres assemblages de test?
Avez-vous des idées sur le fait que plusieurs projets de test empêchent la copie, et que puis-je faire pour la contourner, sans ajouter tous les fichiers de ce répertoire comme un DeploymentItem individuel?
De mon expérience, cela n'ajoute pas les autres fichiers . Cela semble juste ajouter le premier. – Fatlad