Академический Документы
Профессиональный Документы
Культура Документы
https://docs.microsoft.com/ru-ru/visualstudio/test/writing-unit-tests-for-c-cpp?view=vs-2019
Чтобы код теста имел доступ к функциям в тестируемом проекте, добавьте ссылку на этот
проект в тестовый проект. Щелкните правой кнопкой мыши узел тестового проекта в обо-
зревателе решений и выберите пункты Добавить > Ссылка. Затем в диалоговом окне
выберите проекты, которые нужно тестировать.
3) Добавление директив #include для файлов заголовков
Далее в CPP-файле модульного теста добавьте директивы #include для всех файлов заголов-
ков, в которых объявляются тестируемые типы и функции. Введите #include ", после чего
технология IntelliSense поможет вам выбрать файл. Повторите эти действия для всех нуж-
ных заголовков.
4) Ссылка на объектный файл
https://docs.microsoft.com/ru-ru/visualstudio/test/unit-testing-existing-cpp-applications-with-test-
explorer?view=vs-2015#objectRef
Выберите Изменить и добавьте путь к каталогу файлов .obj или .lib. Путь обычно на-
ходится внутри папки построения тестируемого проекта.
4) Выберите Свойства конфигурации, Компоновщик, Ввод, Дополнительные за-
висимости.
5) Выберите Изменить и добавьте имена файлов .obj или .lib. Не используйте полный
путь.
5) Написание методов теста
1. В меню Тест выберите пункт Windows > , а затем пункт Обозреватель тестов. На
рисунке ниже показан тестовый проект, тесты которого еще не выполнялись.
2. Если в окне видны не все тесты, выполните сборку тестового проекта, щелкнув его
узел в обозревателе решений правой кнопкой мыши и выбрав пункт Сборка или
Перестроить.
3. В обозревателе тестов нажмите Запустить все или выберите тесты, которые сле-
дует запустить. Щелкните тест правой кнопкой мыши, чтобы получить доступ к дру-
гим командам, включая запуск в режиме отладки с включенными точками останова.
После выполнения всех тестов в окне будет показано, какие из них были пройдены
успешно, а какие — неудачно.
Для неудачных тестов приводятся подробные сведения, которые могут помочь установить
причину. Вы можете щелкнуть неудачный тест правой кнопкой мыши и выбрать команду
Отладить выбранные тесты для пошагового выполнения функции, в которой произо-
шел сбой.
https://docs.microsoft.com/ru-ru/visualstudio/test/run-unit-tests-with-test-explorer?view=vs-2019
С помощью обозревателя тестов вы можете запускать модульные тесты из Visual Studio или
сторонних проектов модульного тестирования. Кроме того, обозреватель тестов позволяет
группировать тесты по категориям, фильтровать список тестов, а также создавать, сохранять
и запускать списки воспроизведения тестов. Также с его помощью можно выполнять отлад-
ку тестов и анализировать производительность тестов и покрытие кода.
При построении проекта тестирования тесты появляются в Обозревателе тестов. Если Обо-
зреватель тестов не виден, выберите Тест в меню Visual Studio, выберите Windows, затем
выберите Обозреватель тестов.
При запуске, записи и повторном запуске тестов результаты в обозревателе тестов отобра-
жаются в стандартных группах Проект, Пространство имен и Класс. Вы можете изме-
нить способ группировки тестов обозревателем тестов.
Большую часть работы по поиску, организации и выполнению тестов можно выполнять из
панели инструментов обозревателя тестов.
Можно выполнить все тесты в решении, все тесты в группе или выбранный набор тестов.
Выполните одно из следующих действий.
Чтобы выполнить все тесты в группе по умолчанию, выберите значок Запуск, а затем
группу в меню.
Чтобы запустить модульные тесты после каждой локальной сборки, на панели инструмен-
тов обозревателя тестов щелкните значок "Параметры" и выберите в меню пункт Выпол-
нить тесты после сборки.
7.3) Просматривать результаты тестов
Состояние теста.
Чтобы вывести исходный код для метода теста в редакторе Visual Studio, выберите тест, а
затем в контекстном меню щелкните Открыть тест (клавиша F12).
7.6) Группирование тестов в списке тестов
Можно использовать Обозреватель тестов для запуска сессии исправления ошибок тестов.
Пошагово выполняя код, отладчик Visual Studio плавно переключается назад и вперед меж-
ду модульными тестами и проектом для тестирования. Начало отладки
1. В редакторе Visual Studio установите точку останова в одном или нескольких методах
тестирования, которые вы хотите проверить.
Примечание
Так как методы тестирования могут запускаться в любом порядке, необходимо устанавли-
вать точки останова во всех методах тестирования, которые необходимо проверить.
Чтобы выяснить, почему выполнение метода теста занимает слишком много времени, вы-
берите метод в обозревателе тестов, а затем в контекстном меню пункт Выбранный про-
филь тестирования. См. Обозреватель производительности.
Можно определить количество кода продукта, который действительно был проверен мо-
дульным тестированием, при помощи средства покрытия кода Visual Studio, доступного в
выпуске Visual Studio Enterprise. Можно запустить покрытие кода на выбранных тестах или
на всех тестах решения.
Чтобы запустить тест из обозревателя тестов, щелкните тест правой кнопкой мыши в ре-
дакторе кода и выберите Запустить тест. Также для этого можно использовать установ-
ленные по умолчанию сочетания клавиш обозревателя тестов в Visual Studio. Некоторые со-
четания клавиш зависят от контекста. Это значит, что они запускают тесты или выполняют
их отладку в зависимости от того, в каком месте редактора кода находится курсор. Если кур-
сор находится внутри метода теста, этот метод запускается. Если курсор находится на уровне
класса, запускаются все тесты в этом классе. Аналогичным образом реализуется поведение
на уровне пространства имен.
TestExplorer.RunAllTestsInContext CTRL+R, T
TestExplorer.RunAllTests CTRL+R, A
TestExplorer.RepeatLastRun CTRL+R, L
Справочник по API Microsoft.VisualStudio.TestTools.CppUnitTestFramework
TEST_CLASS(className)
Требуется для каждого класса, содержащего методы тестов. Определяет className как тес-
товый класс. TEST_CLASS должен быть объявлен в области пространства имен.
TEST_METHOD(methodName)
{
// test method body
}
Определяет methodName как метод теста. TEST_METHOD необходимо объявить в области
класса метода.
Проверка на равенство
Пример:
Пример:
Проверка на неравенство
Пример:
template<typename T>
static void Assert::IsNull(
const T* actual,
const wchar_t* message = NULL,
const __LineInfo* pLineInfo = NULL)
Пример:
template<typename T>
static void Assert::IsNotNull(
const T* actual,
const wchar_t* message = NULL,
const __LineInfo* pLineInfo = NULL)
Пример:
Assert:IsTrue( 3 > 2 );
Условие имеет значение false
Не пройден
Пример:
Assert:Fail("Not implemented");