gtest

玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

怎甘沉沦 提交于 2020-04-07 23:45:23
摘自: https://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。 其实gtest本身的实现并不复杂,我们完全可以模仿gtest,不断的完善我们的测试框架, 但最后我们还是决定使用gtest取代掉原来的自己的测试框架,原因是: 1.不断完善我们的测试框架之后就会发觉相当于把gtest重新做了一遍,虽然轮子造的很爽,但是不是必要的。 2.使用gtest可以免去维护测试框架的麻烦,让我们有更多精力投入到案例设计上。 3.gtest提高了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。 gtest的官方网站是: http://code.google.com/p/googletest/ 从官方的使用文档里,你几乎可以获得你想要的所有东西 http://code.google.com/p/googletest/wiki/GoogleTestPrimer http://code.google.com/p/googletest/wiki

GTest的安装与使用

本秂侑毒 提交于 2020-04-07 21:44:38
摘自: https://www.cnblogs.com/helloworldcode/p/9606838.html 安装GTest 1、安装源代码 下载gtest,release-1.8.0 git clone https://github.com/google/googletest gtest编译   cd googletest 生成Makefile文件(先安装cmake,brew install cmake),继续输入命令编译:   cmake CMakeLists.txt 执行make,生成两个静态库:libgtest.a libgtest_main.a   make 拷贝到系统目录,注意,如果下诉目录位置在不同版本位置有变动,用find . -name "libgtest*.a" 找到位置 sudo cp libgtest*.a /usr/lib   sudo cp –a include/gtest /usr/include 检查是否安装成功   可以写一个简单的测试代码如下: 1 2 3 4 5 6 7 8 9 10 11 #include<gtest/gtest.h> int add( int a, int b){ return a+b; } TEST(testCase,test0){ EXPECT_EQ(add(2,3),5); } int main( int

Cura源码在Ubuntu15.04上编译脚本(成功)

杀马特。学长 韩版系。学妹 提交于 2020-04-07 03:48:52
Cura是著名的3D打印切片和控制软件。新的版本采用Qt和Python进行了重构,界面变化也非常大,目前还在开发中,运行问题还有不少。这里介绍如何从源代码进行Cura的编译,可以抢先体验新版的界面设计和根据需要进行订制。 这个把相关的脚本都集成到一起了。做了几个重要的改进,基本可以成功运行了。 官方原脚本在这里: https://github.com/Ultimaker/cura-build 主要的改进包括: 1、可以自动判断目录,如没有自动创建,如有则进行源码更新。原脚本安装后更新需要手工一步步进行,很麻烦。 2、改变gtest的安装源到github,原来的是从google下载,由于国内访问不到会导致编译出错。 3、合并 plugins目录,将Uranium\plugins复制到Cura\plugins下,避免找不到插件的错误。 注意: 1、进libArcus将Cmakelists.txt里的add_subdirectory(examples)这一行注释掉,要不编译不过去。 2、目前CuraEngine编译还有些问题,无法执行切片操作。 把下面的内容保存到cura.sh,然后sudo chmod +x cura.sh添加执行权限,然后./cura.sh就Ok了。需要的软件会自动下,时间较长,需要耐心等待。 #!/bin/bash # This is a script which

gtest环境安装

六眼飞鱼酱① 提交于 2020-02-17 14:09:10
gtest全称Google Test,是Google的C++测试框架,有很多优秀的软件都会依赖这个环境编译或者在开发中也会用到,gtest的编译非常简单,下面简单说明一下安装过程. gtest github源码仓库:https://github.com/google/googletest 可以从仓库克隆最新代码或者下载release包,目前最新release版为1.8.0,下载之后可以开始安装 1). 释放安装包 unzip googletest-release-1.8.0.zip cd googletest-release-1.8.0/googletest 2). 配置并编译 修改CMakeLists.txt,找到BUILD_SHARED_LIBS,这是一个标准选项是否编译共享的动态库,这个默认为OFF,改成ON,以方便后续使用 修改完成保存并退出,然后使用cmake进行编译: cmake .. make make install 默认编译安装到/usr/local下,也可以指定参数安装到自定义目录;现在gtest就编译并且安装成功了. 来源: https://www.cnblogs.com/freeweb/p/9334412.html

gtest 安装与使用

試著忘記壹切 提交于 2020-02-17 14:03:50
打开资源管理器: nautilus . gtest 获取 从: https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php 获取gtest-1.7.0-rc1.zip,下载链接,下载打包的源码 或在git仓库下载: git clone https://github.com/google/googletest.git gtest安装 下载gtest源码包:gtest-1.7.0.zip 解压后进入gtest-1.7.0目录 cmake CMakeLists.txt make 后生成两个静态库:libgtest.a libgtest_main.a sudo cp libgtest*.a /usr/lib sudo cp –a include/gtest /usr/include 测试gtest 下面是进入到sample目录下编译官方提供的用例 cd sample 编译用例1 g++ sample1.cc sample1_unittest.cc -lgtest -lgtest_main -lpthread -o test1 编译用例2 g++ sample2.cc sample2_unittest.cc -lgtest -lgtest_main -lpthread -o test2 由于sample1

玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

▼魔方 西西 提交于 2020-02-17 14:02:30
gtest github: https://github.com/google/googletest 学习: 玩转Google开源C++单元测试框架Google Test系列(gtest)(总) 一、安装 1、gtest不是传统的unix安装模式(./configure; make; make install) 2、进入 ${GTEST_DIR} g++ -isystem include -I./ -pthread -c src/gtest-all.cc ar -rv libgtest.a gtest-all.o (We need -pthread as Google Test uses threads.) 官方指导:https://github.com/google/googletest/blob/master/googletest/README.md 参考:http://blog.csdn.net/macchan/article/details/17657231# 二、验证是否成功 cd ${GTEST_DIR}/make 会发现这个文件下有个Makefile make 会生成一些sample执行文件 选一个执行,./sample1_unittest,如果看到典型的gtest输出log就说明成功了 三、使用示例 1、安装与验证完毕之后还不能直接使用   将${GTEST_DIR

gtest 安装和配置

北战南征 提交于 2020-02-17 14:00:10
倒腾半天,终于搞定。 1、下载,解压,进入该目录,按REAME说明 2、g++ -I./include -I./ -c ./src/gtest-all.cc (注意,-I后没有空格,直接加./) 3、ar -rv libgtest.a gtest-all.o 4、g++ -I./include mytest.cpp libgtest.a -o mytest -lpthread (注意mytest为自己写的简单测试代码,编译时注意加-lpthread,不然编译会报错:undefined reference to ...) google开源框架的使用 http://blog.chinaunix.net/link.php?url=http://tech.ddvip.com%2F2009-02%2F1234225401107951.html googletest1.6.0的下载 http://code.google.com/p/googletest/ 资料 http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html 来源: https://www.cnblogs.com/zhanglanyun/archive/2011/12/16/2290208.html

【Game Engine】第二节:配置googleTest & 初步开发Vector2D

ε祈祈猫儿з 提交于 2020-02-05 21:49:34
配置GoogleTest 采用TDD(Test-Driven-Development)方式开发引擎,使用GoogleTest进行程序测试,便于开发过程中发现错误。 GoogleTest 下载: Github 环境搭建 拷贝googletest目录中的src与include中gtest文件夹,放置于Middleware/gtest 建立新项目engineTester,将gtest/src/gtest-all.cc添加至项目中( 此cpp为所有程序代码的集合 ) 添加myMain.cpp,编译成功 使用方法 新建MyTempTestFile.cpp,包含gtest/test.h # include <gtest/gtest.h> TEST ( MyTestSuiteName , MyTestName ) { int a = 1 , b = 2 , c = a + b ; EXPECT_EQ ( c , 3 ) ; EXPECT_TRUE ( c == 3 ) ; } 初步编写Vector2D 初步实现加法,常数乘法 //Vector2D.h namespace Math { struct Vector2D { float x ; float y ; explicit Vector2D ( const float & x = 0.0f , const float & y = 0.0f )

编写优美的GTest测试案例

我是研究僧i 提交于 2020-01-22 16:51:39
使用gtest也有很长一段时间了,这期间也积累了一些经验,所以分享一下。GTest为我们提供了便捷的测试框架,让我们只需要关注案例本身。如何在GTest框架下写出优美的测试案例,我觉得必须要做到: 案例的层次结构一定要清晰 案例的检查点一定要明确 案例失败时一定要能精确的定位问题 案例执行结果一定要稳定 案例执行的时间一定不能太长 案例一定不能对测试环境造成破坏 案例一定独立,不能与其他案例有先后关系的依赖 案例的命名一定清晰,容易理解 案例的可维护性也是非常重要,如果做到上面的8点,自然也就做到了可维护性。下面来分享一下我对于上面8点的经验: 1. 案例的层次结构一定要清晰 所谓层次结构,至少要让人一眼就能分辨出被测代码和测试代码。简单的说,就是知道你在测什么。由于是进行接口测试,我已经习惯了如下的案例层次: DataDefine 我会将测试案例所需要的数据,以及数据之间的联系全部在预先定义好。测试数据与案例逻辑的分离,有利于维护和扩展测试案例。同时,GTest先天就支持测试数据参数化,为测试数据的分离提供了进一步的便捷。什么是测试数据参数化?就是你可以预先定义好一批各种各样的数据,而你只需要编写一个测试案例的逻辑代码,gtest会将定义好的数据逐个套入测试案例中进行执行。具体的做法请见: 玩转Google开源C++单元测试框架Google Test系列(gtest)之四 -

VS2015搭建GoogleTest框架--配置第一个项目

五迷三道 提交于 2020-01-20 03:05:05
最近公司要我学习Google的测试框架google test: https://github.com/google/googletest . GoogleTest是C++的测试框架,我一个学习Java的,开头好难啊。查了好多,才编译成功。总结下,帮助后来人,基本上比我查到的详细。 1.下载googletest: https://github.com/google/googletest 2.以VS为例,在VS中导入msvc/gtest.sln,然后重新编译,debug、release两个模式都要编译。编译后,在msvc/gtest/下有debug、release两个文件夹。 msvc\gtest\Debug - Debug方案下的二进制文件:gtest d .lib、gtest_main d .lib(注意主文件名的d后缀) msvc\gtest\Release - Release方案下的二进制文件:gtest.lib、gtest_main.lib 至此,准备阶段完成。(也可以不用VS构建,用Xcode、GNU make、 Borland C++ Builder)。 3.创建具体的测试项目 3.1 在VS2015中,创建WIN32控制台应用; 3.2 右击工程名,点击“属性”,配置工程属性; 展开“配置属性——C/C++——常规”,在“附加包含目录”中添加“.\gtest-1.7.0