У меня есть несколько тестовых классов и методов, копировать определенный каталог, как так:DeploymentItem сбой копирования каталогов при наличии нескольких проектов тестов на решение
[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
}
этих проверок в одном узле и все файлы в каталоге LangaugeData установлены их Copy to Output Directory
, установленные на Copy Always
.
Все работает отлично, и каталог скопирован в файл результатов Out
, если у меня есть только одна тестовая сборка, загружаемая в решение, или это единственная сборка, в которой я запускаю тесты (т. Е. Запускать тесты только в текущем контексте /класс).
Как только я добавляю вторую сборку и выполняю все тесты в решении, тогда этот каталог больше не копируется, , но любые другие элементы DeploymentItems, которые являются отдельными файлами, похоже, скопированы в порядке.
Тесты все еще выполняются, но те, которые зависят от этого каталога, разбиваются. Предположительно, это потому, что MSTest не может найти каталог - возможно, он ожидает, что он будет в каталоге сборки одной из других тестовых сборок?
Любые идеи о том, что такое несколько тестовых проектов, которые препятствуют копированию, и что я могу сделать, чтобы обойти его, не добавляя каждый отдельный файл в этот каталог в качестве отдельного DeploymentItem?
Из моего опыта это не на самом деле добавить другие файлы , Кажется, он просто добавляет первый. – Fatlad