Тесты C++ Unit не обнаружены

1
9

Вопрос о C++ и gtest: ни с тем, ни с другим я не работаю часто, так что простите, если это простой вопрос. Похоже, мои тесты не могут быть обнаружены, если я использую функцию extern в любом из моих тестов:

Я работаю в VS 2022: я добавил тестовый проект Google и сослался на тестируемый проект C++. Я пытаюсь протестировать Function1, которая определена в тестируемом проекте как

В моем тестовом проекте есть следующее:

Когда я собираю решение с обоими проектами в нем, я получаю ошибку в обозревателе тестов "Убедитесь, что средство обнаружения и исполнители тестов зарегистрированы, а настройки версии платформы и фреймворка соответствуют, и повторите попытку"

Если я не вызываю Function1 в своем тесте, тесты отображаются в обозревателе тестов

Что я здесь делаю не так?

#ifdef __cplusplus
extern "C" {
#endif
    __declspec(dllexport) BYTE* Function1(BYTE* obj1, int len) noexcept(false)
    {
    ...
    }
extern "C"
{
    extern BYTE* Function1(BYTE* obj1, int len);
}

TEST(TestCaseName, TestName)
{
        retVal = Function1(GetObj1(), GetLen());
        EXPECT_TRUE(0 == std::memcmp(retVal, GetExpectedResult(), sizeof(retVal)));
}
Александр
Вопрос задан21 мая 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.