Как получить покрытие кода с помощью gtest в Windows?

Я использую gtest для тестирования моего кода на С++ с Visual studio 2010. Но я не мог понять, что я достиг 100% -ного охвата кода. Чтобы убедиться, что я покрыл 100% -ный охват кода, я хотел бы знать, что есть ли способ узнать охват кода gtest или нет? Потому что у меня много Googled, но я не нашел возможного способа получить результат покрытия кода, используя gtest в Windows enviornment. Если возможно, сообщите мне.

Спасибо много...

Ответы

Ответ 1

Покрытие кода на С++ не может быть обработано только средой тестирования, потому что инструмент анализа покрытия должен знать всю степень кода (который не имеет рамки тестирования), и он должен каким-либо образом подвергать тестируемый код монитор, который выполняет часть кода.

У меня было такое же желание, как и вы, желая измерить свое тестовое покрытие в MSVC. Это то, что я узнал:
MSVC поставляется с некоторыми инструментами командной строки для этих инструментов, при поиске по-разному вы получите одну или две сообщения в блоге msdn о том, как их использовать. Честно говоря, это не очень удобно и легко использовать. Если вы ищете сторонние инструменты, вы, вероятно, не найдете никаких бесплатных. Любые инструменты, которые я нашел, были корпоративными инструментами с лицензионными сборами в диапазоне от нескольких сотен до более тысячи долларов, поэтому не вариант, если вы не являетесь компанией.

Ответ 2

Вы можете попробовать OpenCppCoverage: http://opencppcoverage.codeplex.com.

Это открытый исходный код, разработанный для Visual Studio С++ и хорошо работающий с Google Test. Я уже успешно использовал проект среднего размера (~ 500 000 строк кода).

Надеюсь, что это поможет.

Отказ от ответственности: я являюсь автором этого инструмента.