一些C++测试框架使用说明

本文将针对谷歌测试框架以及Qt测试框架的使用方法进行总结。

google框架1

框架使用

包含头文件

1
#include <gtest/gtest.h>

编写测试函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*****************************************************************************
* TEST(TLENodeTest, TLENodeCheckFileIsValid) -- Test module of TLENode *
* *
* This function is the test module of the TLENode which varifies whether *
* the TLE file is valid or not. *
* *
* INPUT: The first parameter is the info of the *
* Test, and the second is the function of the test *
* *
* OUTPUT: none *
* *
* WARNINGS: none *
* *
* REMARKS: none *
* *
* HISTORY: *
* 2020-06-14 DSQ : Created. *
*===========================================================================*/

TEST(TLENodeTest, TLENodeCheckFileIsValid){
int i=0;
EXPECT_EQ(0, i); //This will test whether i == 0
}

在主函数中启动测试

1
2
3
4
int main(int argc, char *argv[]){
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

和CMake进行结合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cmake_minimum_required(VERSION 2.8)

project(test_QNPSapp)

enable_testing()
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})

#--------------------------------------------------------------
# Add the executable test files
#--------------------------------------------------------------
add_executable(TEST test_TLENode.cpp)

target_link_libraries( TEST ${GTEST_LIBRARIES} pthread)
add_test(AllTests test)

Notation

最好一个模块建立一个测试工程

参考文献

0%