MS Test, несколько тестовых проектов в решении и DeploymentItemAttribute - PullRequest
2 голосов
/ 13 марта 2012

В моем решении VS 2010 есть два проекта модульных тестов.У каждого проекта есть каталог данных с входными данными, необходимыми для юнит-тестов.

Я пометил классы тестов, которым нужны данные, с помощью

[DeploymentItem("Data")]

Когда я запускаю тесты по отдельности, работа в порядке.Однако, когда я запускаю (или отлаживаю) все тесты в решении, я обнаруживаю, что только один из двух каталогов данных копируется в TestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Out, что приводит к сбою модульных тестов, которые полагаются на другой каталог данных.

Интересно, что если я затем использую окно «Результаты теста» для повторного запуска проверенных (как в случае неудачи) тестов, тесты все равно не пройдены (они не распознают, что отсутствуют правильные файлы каталога данных).Если затем перейти непосредственно к неудачному тесту и выбрать «Запустить тесты в текущем контексте», то при выполнении теста будет получен правильный каталог данных, и тест пройден успешно.

Мой вопрос : Как я могу вызвать DeploymentItem s из двух отдельных тестовых проектов, все они будут скопированы в каталог Out, в котором выполняются тесты?

Для справки, я рассмотрел эти вопросы, не отмечая решения

Проблемы с атрибутом DeploymentItem

Работают ли элементы развертывания MSTest, только если они присутствуют в файле настроек теста проекта?

1 Ответ

1 голос
/ 15 марта 2012

Я обнаружил, что предоставление каждой папке «Data» уникального имени (например, «TestProjectAData») решило проблему. Кажется, есть какая-то ошибка, когда несколько каталогов по разным путям имеют одинаковый относительный путь к разным тестовым проектам (то есть, если у каждого тестового проекта есть подкаталог с именем «Данные»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...