Обновление модульных тестов с версии Visual Studio 2010
Visual Studio 2012 обеспечивает совместимость тестовых проектов с тестовыми проектами Visual Studio 2010 SP1.Например, тестовые проекты, которые были созданы в Visual Studio 2010 SP1 можно открыть с помощью Visual Studio 2012 без какого-либо обновления.Следовательно, ваш коллектив может использовать и Visual Studio 2010 SP1, и Visual Studio 2012 для работы с одним и тем же тестовым проектом.Для получения дополнительной информации см. Upgrading tests from Visual Studio 2010.
В Visual Studio 2012 представлено несколько изменений в модульном тестировании.Вследствие этих изменений, важно понимать проблемы совместимости между предыдущими версиями Visual Studio и Visual Studio 2012.Из всех изменений, относящихся к модульному тестированию, значительным изменением является то, что Visual Studio 2012 содержит в себе больше, чем один шаблон тестового проекта, включая, в том числе и шаблон проекта модульного теста.Новые модульные тесты добавляются к новому шаблону проекта модульного теста.Модульные тесты можно также включать в другом новом шаблоне, называющимся "Проект с закодированными тестами пользовательского интерфейса".Дополнительные сведения о новых шаблонах проектов тестов см. в разделе Обновление тестов из более ранних версий Visual Studio.Новые проекты модульных тестов больше не содержат в себе по умолчанию файл параметров тестирования.За счет исключения файла с параметрами тестирования, улучшается производительность модульных тестов.Для обеспечения совместимости по-прежнему можно использовать существующие тестовые проекты, созданные с помощью Visual Studio 2010.Однако для повышения производительности рекомендуется удалить файл с параметрами тестирования, связанный с данным тестовым проектом, в случае если в нем нет никакой необходимости.Например, можно оставить файл с параметрами тестирования, если модульные тесты запускаются в распределенной среде, или если требуется собирать конкретные диагностические данные.Если имеются схожие потребности при использовании шаблона нового проекта модульных тестов или проекта с закодированными тестами пользовательского интерфейса, то для них можно добавить файл с настройками теста вручную.
Примечание |
---|
Существующие модульные тесты в тестовых проектах Visual Studio 2010 SP1 будут легко работать с Visual Studio 2010 SP1 и Visual Studio 2012.В файлы тестовых проектов не вносятся никакие изменения, если тестовый проект Visual Studio 2010, содержащий модульные тесты, открывается в Visual Studio 2012 или наоборот. |
Внимание |
---|
Visual Studio 2010 не удается открыть проект A.C. ++/CLI, целевые объекты набора инструментов версии 11.0 (т е проект, созданный в Visual Studio 2012).Это ограничение применяется ко всем проектам C ++/CLI, а не только проекты модульных тестов C ++/CLI. |
Примечание |
---|
Новые модульные тесты можно выполнять с помощью vstest.console.exe из командной строки.Дополнительные сведения об использовании vstest.console.exe см. в разделе Параметры командной строки VSTest.Console.exe или выполните команду с флагом, запрашивающим справку: vstest.console.exe /?.Можно продолжить запускать существующие модульные тесты с помощью команды MStest.exe.Дополнительные сведения см. в разделах Практическое руководство. Запуск автоматических тестов из командной строки с помощью программы MSTest и Параметры командной строки программы MSTest.exe. |
Другое значительное изменение — это новый обозреватель тестов.В Visual Studio 2012 некоторые окна тестирования, с которыми вы можете быть знакомы с предыдущих версий Visual Studio, объявлены устаревшими, как например, окно представления теста.Обозреватель тестов предназначен для лучшей поддержки разработчиков и коллективов, применяющих модульное тестирование на практике при разработке программного обеспечения.Для получения дополнительной информации см. Выполнение модульных тестов с помощью обозревателя тестов.
Проблемы совместимости между Visual Studio 2010 и Visual Studio 2012 SP1
Перечисляются некоторые проблемы, которые следует учитывать при переносе модульных тестов между Visual Studio 2010 SP1 и Visual Studio 2012:
Функциональность модульного теста |
Проблема |
Решение |
---|---|---|
Списки тестов (файлы .vsmdi) в Visual Studio 2012 — нерекомендуемы. |
В Visual Studio пользователь больше не может создавать новые списки тестов (файлы .vsmdi) или списки выполнения тестов.
Совет
Категории тестов обеспечивают более высокий уровень гибкости по сравнению с функцией списков тестов, использовавшейся в предыдущих версиях Microsoft Visual Studio.Для одновременного запуска тестов из нескольких категорий или ограничения выполняемых тестов только тестами из определенных категорий можно использовать категории тестов вместе с логическими операторами.Кроме того, категории тестов легко добавлять при создании методов тестов, и после создания этих методов не требуется вести списки тестов.Благодаря использованию категорий устраняется необходимость в извлечении и возврате файла <solution name>.vsmdi, содержащего списки тестов.Дополнительные сведения см. в разделе Определение категорий тестов для группировки тестов.
|
|
Закрытые методы доступа в Visual Studio 2012 — не рекомендованы. В предыдущих версиях Visual Studio, можно было использовать Publicize для определения внутренних программных интерфейсов (API) и создания открытого API, который можно вызывать в тестах, которые, в свою очередь, вызывают аналогичные API продукта.Затем можно было использовать создание кода для создания тестовых заглушек и создания фрагмента кода внутри заглушки. |
Пользователь больше не может создавать закрытые методы доступа. |
|
Влияние на тест было удалено. |
||
Совместное использование результатов выполнения при помощи TRX журналов из обозревателя тестов. |
Можно по-прежнему получать TRX журналы и из командной строки, и из меню командное построение. |
|
Покрытие кода с собственными модульными тестами C C-++ |
Модульного теста A, C, C-++ завершается неудачей и покрытие кода включена, данные трассировки стека для ошибок. Ошибка выполнения модульных тестов C C-++ без покрытия кода и получить стека вызова, чтобы определить проблему. |
См. также
Основные понятия
совместимость Visual Studio 11
Проверка кода при помощи модульных тестов
Обновление тестов из более ранних версий Visual Studio
Обновление закодированных тестов пользовательского интерфейса с версии Visual Studio 2010