使用cmake的GoogleTest:将测试分为.cpp和.h文件

时间:2019-04-23 23:52:35

标签: c++ c cmake googletest

我对C ++不太熟悉,尤其是对于make和build。

在我的CMakeLists.txt中,我有:

add_executable(example test_runner.cpp)
target_link_libraries(example gtest_main)

gtest_discover_tests(example)

然后在test_runner.cpp中,我有

#include <iostream>

#include "gtest/gtest.h"
#include "sample_tests.h"


int main(int argc, char **argv)
{
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

sample_tests.h是:

#ifndef PROJECTS_SAMPLE_TESTS_H
#define PROJECTS_SAMPLE_TESTS_H


#endif //PROJECTS_SAMPLE_TESTS_H

sample_tests.cpp是:

#include <iostream>

#include "gtest/gtest.h"
#include "sample_tests.h"

TEST(sample_test_case, sample_test)
{
    EXPECT_EQ(1, 2);
}

所以,对我来说清楚的是,这里的问题是test_runner.cpp导入了sample_tests.h,但是sample_tests.h没有导入sample_tests.cpp。但是,据我了解,.h文件无法导入.cpp文件。我知道应该sample_tests.cpp实现sample_tests.h,但我不知道如何将它们实际链接在一起。

这是我需要在cmakelists.txt中配置的东西吗?

0 个答案:

没有答案