• gtest以及测试小结


    所有的测试,都是让未知的东西和已知的东西进行比较,如果测试结果和预期的一样,那么就认为被测对象是OK的否则视为有问题。

    python的单元测试是写一堆继承了unittest.TestCase类,每个类里都会定义一个runTest函数,实际上这个函数是覆盖了基类的函数,脚本执行时调用unittest.main函数,unittest.main函数就会查找哪些类集成了TestCase并执行runTest函数

    那么到了gtest里也是类似的,不过因为gtestC/C++的单元测试框架,而C/C++里能执行的都是可执行文件,所以需要把这些测试代码打进程序,然后用main函数来调用这些测试代码,但是我们是看不见这个main函数的。其实这个main函数被gtest的库模块包起来了,gtest_main.cc就定义了main函数,这个文件被编译为gtest_mian.o然后和gtest-all.o一起打入了libgtest.a中,将这个库文件和我们的测试模块编译产生的.o文件一起链接就产生了可执行程序

    gtest可以用作C++语言项目的测试工具,也可以用做C语言项目测试工具,当用作C项目的测试工具时,我们使用基本的TEST宏即可,如果用作C++的话,可以有更高级的一些用法:

    test_sum.cpp

    #include <cstdio>
    #include "sum.h"
    #include "gtest/gtest.h"
    
    class X{
    public:
        int get()
        {
            return 0;
        }
    };
    
    class TestHello : public testing::Test
    {
    public:
        X *p;
        virtual void SetUp()
        {
            p = new X();
        }
    
        virtual void TearDown()
        {
            delete p;
        }
    };
    
    TEST_F(TestHello,ADD){
        EXPECT_EQ(1, p->get());
    }
  • 相关阅读:
    C# 寻找数组中的最大子数组
    C# 求两个矩阵相交面积
    C# 排序方法
    oracleI基础入门(8)tableINTERSECT Crazy
    oracleI基础入门附(2)算总合百分比,算累积总合百分比 Crazy
    oracleI基础入门附(1)算中位数,算累积总计 Crazy
    oracleI基础入门(9)table子查询 Crazy
    oracleI基础入门(10)EXISTS Crazy
    oracleI基础入门(11)case Crazy
    oracleI基础入门(8)tableMINUS Crazy
  • 原文地址:https://www.cnblogs.com/code-style/p/3376381.html
Copyright © 2020-2023  润新知