Что ж. Я работаю в команде тестирования. Я просто хочу настроить покрытие кода для cpp кода, разработанного в visual studio 2010. Есть всего два сомнения, которые я хочу задать
1. Моя компания приобрела Visual Studio 2010 Ultimate Edition, и с ее помощью мне удалось создать покрытие кода для образца. test project (.dll)
создан с использованием Test Project
Шаблон в визуальной студии.
Проблема в том, что разработчики написали тестовый проект, используя
Cppunit как.exe
, Так я смогу получить покрытие кода для
.exe
тоже (с включенным PROFILER), используя обычный метод, чтобы получить
Покрытие кода в Visual Studio Ultimate Edition. Или я должен спросить
их написать модульные тесты с использованием модульного теста Microsoft
рамки (то есть. DLL). Я просто не могу просто сказать, сделай это, мне нужно представить
им настоящая причина для этого.
2. Вторая мысль, которая у меня возникла, заключалась в том, что существует намного больше инструментов с открытым исходным кодом, чтобы получить покрытие кода для cpp, скомпилированных с использованием gcc или g ++. Поэтому я подумал о компиляции кода cpp с использованием g ++ и использования инструментов с открытым исходным кодом, чтобы получить покрытие кода. Это хорошая идея?
Когда я поделился этой идеей со старшим разработчиком, он сказал, что есть много
больше кода cpp, разработанного специально для MSDN, вы не можете сделать таким образом.
Вы хотите сделать это, вы должны сделать кросс-платформенный код совместимым или
портативный [что-то, что я не мог понять].
Итак, последнее, я пытаюсь представить им немедленное решение для получения покрытия кода с помощью Visual Studio Ultimate Edition, которая у нас есть. А позже, в поисках лучшего способа достижения этого, не покупая никаких платных инструментов, таких как ncover, squish coco, покрытие «яблочко» и т. Д., Я выбрал вышеупомянутый второй вариант.
Моя конечная цель — показать окончательный отчет в Jenkins, чтобы каждый мог увидеть его без какого-либо ручного вмешательства после процесса сборки [что невозможно при использовании визуальной студии, я полагаю,].
Существует плагин MSTestRunner для jenkins, который может генерировать отчет о модульных тестах, но не отчет о покрытии.
Я думаю, я ясно дал понять. Если это повторяющийся вопрос, пожалуйста, укажите мне ссылку на. Спасибо заранее
Я забыл сказать это, я также смог найти какой-то инструмент под названием vcxproj2cmake, я думаю, это ясно из самого названия. Так что, если я использую этот инструмент для генерации cmake, соответствующего фактическому vcxproj, смогу ли я выбрать второй вариант?
НОТА:
Как и сейчас, я создал тестовый проект (скажем, SampleTestProject) как сказано в методе 1, который имеет
только один метод испытаний (чтобы, скажем, Метод испытания) который в свою очередь запускает все написанные модульные тесты
используя cppunit по указанному ниже методу.
- Я попросил разработчиков сделать
.exe
(которые они уже написали с помощью модульных тестов cppunit) как.dll
в определенном формате, как это
должен содержать класс с именемTestInitiator
который содержит
CppUnit::TextUI::TestRunner
(экземпляр бегуна, который запускает
Тесты cppunit, в идеале этот метод должен присутствовать для запуска тестов cppunit) со всеми методами тестирования, определенными в наборе.- Этот метод вызывается вышеупомянутым Метод испытания в SampleTestProject и тем самым получить покрытие кода
Таким образом, покрытие кода было получено с минимальными изменениями в коде. Надеюсь, вам понравится!
Задача ещё не решена.