Я понимаю, что googletest предназначен для модульного тестирования C++. Однако я надеюсь, что смогу использовать его и для модульного тестирования C. Я создал проект Hello world со следующим файлом CmakeList.txt, который явно не работал.
Одна из проблем заключалась в том, что / usr / bin / cc пожаловались на синтаксис C++, такой как «include <limits>», не найденный. Я предполагаю, что это должно было быть limit.h, чтобы быть стилистически правильным.
cmake_minimum_required(VERSION 3.10)
project(untitled C CXX)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_VERBOSE_MAKEFILE 1)
include_directories(../googletest/googletest/include)
add_executable(untitled main.c)
link_libraries(untitled gtest gtest_main)
main.c
#include <stdio.h>
#include <gtest/gtest.h>
int return_one()
{
return 1;
}
TEST(test_case, test_name)
{
ASSERT_EQ(return_one(), 1);
}
GoogleTest - это библиотека C++, вы не можете использовать ее с программой C. Однако, если ваша программа на C также подходит для C++, вы можете скомпилировать ее с помощью компилятора C++: set_source_files_properties(main.c PROPERTIES LANGUAGE CXX). Это позволит вам использовать GoogleTest в вашем коде.
Googletest, безусловно, можно использовать для модульного тестирования API-интерфейсов C, но ваш пост предполагает, что, возможно, вы не совсем поняли базовые концепции модульного тестирования с самого начала. Чтобы получить полезную помощь, отредактируйте свое сообщение, чтобы показать нам, что находится в main.c.





Какой у Вас вопрос? Было бы хорошо, если бы вы привели минимальный пример, демонстрирующий вашу проблему.