Запуск модульного теста, управляемого данными, из нескольких входных файлов - PullRequest
0 голосов
/ 18 августа 2011

Справочная информация. В нашем проекте у нас есть несколько XML-файлов, которые определяют тесты, которые загружаются в генератор отчетов.Поскольку мы хотим убедиться, что наши тесты остаются точными, у нас есть настроенные модульные тесты для проверки того, что входные данные xml дают одинаковый результат.В настоящее время он содержится в большой электронной таблице Excel и прекрасно работает с модульными тестами в Visual Studio, управляемыми данными.Но это приводит к проблемам, потому что часто над тестами будут работать более одного разработчика, и им потребуется получить электронную таблицу для добавления модульных тестов.Если у другого разработчика есть электронная таблица, то они останавливаются, ожидая, когда она вернется, поскольку VS не может объединить файл Excel.Кроме того, мы хотим перейти на git, и этот подход там тоже не будет работать из-за отсутствия блокировки при извлечении и невозможности объединения двоичных файлов.

Итак, мы пытаемся перейти наналичие отдельного файла для каждого отдельного набора тестов модулей в папке.Затем, когда запускаются модульные тесты, мы загружаем все файлы в папке и запускаем тестовые данные в каждом из файлов.Таким образом, когда разработчик делает новый тест, он просто должен добавить новый файл для модульных тестов, вместо того, чтобы добавлять запись в центральный файл.

Формат данных будетто же самое для всех файлов, так что даже объединение их должно работать.Но я пытаюсь сделать это и сохранить поведение, управляемое данными, где каждая строка в тестовых данных эквивалентна одному тесту в выходных данных;все они проходят или терпят неудачу / производят выходные сообщения отдельно.

Можно ли запустить модульный тест, управляемый данными, из нескольких файлов?Если да, можем ли мы сохранить результаты в виде «одна строка == одна проверка» в результатах?

1 Ответ

0 голосов
/ 26 августа 2011

Я получил метод ClassInitialize для класса модульного теста и включил в него папку с файлами, которые мне были нужны в качестве элемента развертывания.Затем метод ClassInitialize взял все файлы данных в папке и объединил их вместе.Другие тесты в классе затем ссылались на этот файл в своем атрибуте DataSource.Это позволило мне использовать макет с несколькими файлами и при этом сохранить желаемый стиль вывода.

Основной урок из этого: файл источника данных для модульного теста, управляемого данными, не должен существовать во время компиляции, по-видимому.

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