Я бы хотел протестировать мой проект C ++ с помощью Google Test Framework.Я работаю с Visual Studio 2017 и установил ReSharper c ++.Кроме того, я хочу использовать Subversion.Я создал решение только с одним проектом Google Test.Я сделал все по следующей статье: https://docs.microsoft.com/en-us/visualstudio/test/how-to-use-google-test-for-cpp?view=vs-2017 Пока все работает нормально.Visual Studio и ReSharper находят тест и могут запускать его, как и ожидалось.Он также находит макрос TEST, а также макросы ASSERT_ и EXPECT_.
Мне не нужны пакет и папка .vs в Subversion.Поэтому все, что я проверяю, это следующие файлы: .sln, .vcxproj, .vcxproj.user, pch.h, pch.cpp, packages.config и test.cpp, а также папки.
ЕслиЯ проверяю это в другом каталоге, Решение строит просто отлично.Тестовый пакет Google загружается, как ожидается, и создается новая папка .vs.Но проблема в том, что макрос TEST больше не распознается как макрос.Он помечен красным, и я получаю сообщение «Тест функции» должен иметь возвращаемый тип », когда я наводю на него курсор, а макросы EXPECT_ также красные и я получаю сообщение« Не удается разрешить символ «EXPECT_EQ» ».На данный момент ReSharper больше не находит тестов.Но тестовый проводник Visual Studio делает!Я даже могу запустить его из тестового проводника и получить зеленый тест.
В этот момент я подумал, что это может быть проблема с Resharper, и отключил его.Это действительно решило проблему в небольшом решении только с одним тестовым проектом.После строительства и открытия визуальной студии все снова заработало.Поэтому я реализовал его в своем более крупном решении, над которым я работаю, но даже после построения решения и повторного открытия Visual Studio макросы все еще не распознаются!Я могу создавать и запускать тесты из тестового проводника, и при наведении указателя мыши на макрос TEST теперь отображается немного другое сообщение: «отсутствует явный тип (предполагается, что 'int')», а при наведении указателя мыши на макрос EXPECT_EQ выводится «идентификатор» EXPECT_EQ 'undefined».
Кто-нибудь знает, почему студия больше не распознает макросы и как я могу это исправить?