zoukankan      html  css  js  c++  java
  • codeblocks+Mingw 下配置开源c++单元测试工具 google test

    google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它。

    Code::Blocks 12.11(MinGW 4.7.1) (Windows版)
    Google Test 1.7.0

    一 编译Google Test

    运行cmake-gui
    在弹出来的对话框中
    Where is the source code之后填写解压的gtest,例如:D:/software/gtest-1.7.0
    Where to build the binaries之后填写生成的工程路径,例如:D:/software/gtest-1.7.0/codeblocks-mingw


    (网上看到说要点击Configure,然后勾选gtest_disable_pthreads之后的复选框,再进行下面的操作,这一步我没有做也没问题)
    点击Configure
    然后点击Generate
    如此一来,cmake就在D:/software/gtest-1.7.0/codeblocks-mingw下会自动生成Code::Blocks的project文件。
    双击该project文件(cbp文件),然后build就行了。



    二 使用Google Test

    需要注意的是:
    既想用C++11的新特征,又想顺利编译Google Test,你得用命令行参数-std=gnu++11,而不是-std=c++11。

    用codeblocks新建一个工程
    右键project,选择Build options...
    清除Compiler settings > Compile Flags下与-std=有关的复选框
    点击选项卡Compiler settings > Other options,在对话框中填写-std=gnu++11

    (如果没有使用c++11新特性,上面两步可以省略)
    在Linker settings > Other linker options下填写-lgtest
    点击OK

    点击选项卡Search directories
    在Compiler子选项卡中Add一项,填写D:/software/gtest-1.7.0include
    在Linker子选项卡中Add一项,填写D:/software/gtest-1.7.0codeblocks-mingw
    点击OK

    然后就可以写代码了,我写了一个add函数,然后对其测试,代码如下:

     1 #include<cstdio>
     2 #include<gtest/gtest.h>
     3 
     4 int add(int a, int b)
     5 {
     6     return a+b;
     7 }
     8 
     9 TEST(addtest, HandleNoneZeroInput)
    10 {
    11     EXPECT_EQ(14, add(4, 10));
    12     EXPECT_EQ(-2, add(-3, 1));
    13 }
    14 
    15 int main(int argc, char *argv[])
    16 {
    17     testing::InitGoogleTest(&argc, argv);
    18     return RUN_ALL_TESTS();
    19     return 0;
    20 }

    结果如图:

    详细的使用说明请参考:here

    【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3412721.html

  • 相关阅读:
    [Debug]驱动程序调测方法与技巧
    [内核同步]自旋锁spin_lock、spin_lock_irq 和 spin_lock_irqsave 分析
    ios多线程-GCD基本用法
    用PHP抓取页面并分析
    IOS开发-KVC
    IOS开发-KVO
    JavaScript垃圾回收(三)——内存泄露
    JavaScript垃圾回收(二)——垃圾回收算法
    JavaScript垃圾回收(一)——内存分配
    JavaScript闭包(二)——作用
  • 原文地址:https://www.cnblogs.com/TenosDoIt/p/3412721.html
Copyright © 2011-2022 走看看