Google Test Frame Practices

Table of Contents

1 简介

Google Test Framwork1 是 google 一套开源的 C++测试框架。主要包括两个部分:

1.1 gtest

gtest 测试框架是 google 开源的用于在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE 和 Symbian)为编写 C++ 测试用例的项目。它是基于 xUnit 架构的测试框架,支持自动发现测试,丰富的断言集, 用户定义的断言,death 测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和 XML 的测试报告。

1.2 gmock

2 编译与安装

2.1 Windows2

2.2 Ubuntu

2.2.1 gtest

    cd ~/projects
    git clone git@github.com:google/googletest.git
	# 根据 googletest/googleteset/README.md 进行安装
    cd googletest/googletest/
	cmake CMakeLists.txt
    make
	sudo mv libgtest.a /usr/local/lib/
	sudo cp -r include/gtest/ /usr/local/include/

2.2.2 gmock

3 实战3

3.1 gtest

    #include <iostream>
    #include <gtest/gtest.h>

    int Add(int a, int b) {
        return a + b;
    }

    TEST(SomeTest, Add) {
        EXPECT_EQ(3, Add(1,2));
    }

    int main(int argc, char *argv[])
    {
        testing::InitGoogleTest(&argc, argv);
        return RUN_ALL_TESTS();
    }
    g++ gtest_1.cc -lgtest -lpthread -o gtest_1.out #注意不要使用 gcc

3.2 gmock

4 源码

Footnotes:

Author: lsl

Created: 2017-08-30 三 16:07

Emacs 25.2.2 (Org mode 8.2.10)

Validate