cmake教程参考什么是cmakecmake 常见语法罗列CMake可用变量入门案例单个源文件多个源文件同一目录,多个源文件多个目录,多个源文件进阶案例自定义编译选项指定安装和测试定制安装规则为工程添加测试支持gdb添加环境检查添加版本生成安装包将其他平台的项目迁移到 CMake其他 参考超详细的cmake教程
camke-examples的中文阐释(推荐)。在此基础上,有从其他博客文章学习进行
前言 交叉编译算是每个嵌入式开发者都会经历的一道坎吧,通俗的描述就是搭建Arm板代码编译环境,让代码能够在Arm板子上跑起来。常用到的编译工具为Makefile和CMake,本篇记录下CMake的常用技巧。入门案例:单个源文件代码路径:https://gitee.com/LinuxTaoist/DesignMode/tree/master/FactoryMode工程结构.
├── CMakeL
set_target_properties 的作用是设置目标的属性,可以是目标文件输出的名称或者目录、目标文件的版本号。与之对应的,我们可以使用 get_target_properties 来获取目标文件某一属性对应的值。命令格式如下:set_target_properties(目标文件1 目标文件2 ...
PROPERTIES
前言前面的文章介绍了一个最简单的CMake工程,这篇文章将介绍一个稍微复杂一些的CMake工程,结合这个工程总结一下在组织一个C/C++工程时最为常用的一些CMake命令和变量。对于涉及到的命令和变量,介绍的原则是点到即止,先仅需掌握基本用法即可,让工程跑起来。上一篇文章中那个最简单的CMake Hello World工程,在其CMake脚本文件CMakeLists.txt中,仅有一句话:add_
gtest 提供了一套优秀的 C++ 单元测试解决方案,简单易用,功能完善,非常适合在项目中使用以保证代码质量。安装官方传送门:googletest 现在官方已经把 gtest 和 gmock 一起维护,所以这个 git 仓库还包含了 gmock。这里建议安装 gtest 1.7 release 版本(该安装方法对 1.8 不适用):➜ ~ wget https://github.com/goo
转载
2024-08-06 11:06:26
131阅读
基本概念要使用GoogleTest,需要包含header gtest/gtest.h断言Assertions断言是检查条件是否为真的语句,其结果可能是成功或失败,失败分为非致命失败和致命失败两种,后者会终止当前运行,前者则会继续运行。
GoogleTest中,断言类似于函数调用的宏,断言失败时,GoogleTest会输出断言的源文件和行号位置以及失败消息(所有断言都可以使用<<输出自定
之前对google的开源库gtest进行过介绍,现在看那篇博文,感觉有些没有说清楚,这里再进行总结下: Google Test是Google的开源C++单元测试框架,简称gtest。它的License是New BSD License,可以商用。它是跨平台的,不仅可以应用在各PC端(Windows、Linux、Mac),也可以应用在各移动端(Android、iOS)。目前最新的稳定版为1.8.0,
转载
2024-08-21 17:36:01
75阅读
一、简介
我们熟悉的单元测试框架有很多,比如 gtest, boost.test, catch等,今天以功能完备,文档丰富,比较常用的 gtest 为例子,包括构建、安装、demo, 覆盖率展示等。文章主要面向对单元测试了解不多的小白,更多单元测试内容自己百度吧,内容很多。
注
1、如下内容在个人的腾讯计算云上完成,linux ubuntu系统
转载
2024-03-18 00:08:27
273阅读
Linux x86环境下一,gtest安装下载gtest源码包:gtest-1.7.0.zip解压后进入gtest-1.7.0目录cmake CMakeLists.txtmake 后生成两个静态库:libgtest.a libgtest_main.asudo cp libgtest*.a /usr/lib sudo cp –a include/gtest /usr/inclu
转载
2024-02-12 21:11:50
177阅读
在自动化测试中测试数据的管理是绕不开的一个话题,不过我在前面加了一个修饰词:静态,用于对测试数据做一个分类。我所定义的静态测试数据有几个特征:一般预先保存在测试框架/平台内,无需在测试用例执行中从数据源动态获取测试数据在运行前、运行中、运行后状态不变更,是不可变数据与之对应的则是动态测试数据,是在测试过程中临时生成的或是动态获取的。静态测试数据的圈定比较简单,一般就是去数据源看下有没有业务完整度比
转载
2024-07-10 02:13:30
55阅读
一、前言“死亡测试”名字比较恐怖,这里的“死亡”指的的是程序的崩溃。通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也就是所谓的“死亡测试”。gtest的死亡测试能做到在一个安全的环境下执行崩溃的测试案例,同时又对崩溃结果进行验证。二、使用的宏Fatal assertionNonfatal assertionVerifie
《High Performance JavaScript》一书对于JavaScript中的如何提高循环的性能介绍的十分详尽,自己写了些简单的代码进行了测试,测试结果竟然出乎意料。 首先需要说明的是,本次测试的浏览器版本为Mozilla Firefox V7.01、基于chrome内核的傲游V3.1.8.1000,至于IE8那个废材我实在无语(系统是XP,IE9装不了无法测试)。 书中的主要
转载
2024-10-28 20:16:45
22阅读
cmake测试
原创
2022-11-17 00:45:35
300阅读
本文是GTest使用教程的第一篇,本文主要介绍如何用VS2010编译GTest,并在项目工程中运用GTest。下载GTest若读者使用的是是VS2010,则需要下载1.6版本及以下的,1.7版本对应的是VS2015。编译GTest下载源码解压后,进入根目录根目录下的msvc文件夹里面是visual studio的工程文件,若压缩包中没有此文件夹,则需要使用CMakeList生成visual stu
转载
2024-02-27 21:04:45
71阅读
GTEST的TEST原理分析及自动调度解析 介绍 Gtest是google开发的一个开源的C++测试框架,可在Linux, Windows,Mac多个平台上对C++源码进行测试,它提供了丰富的断言、可进行数值型、bool类型、字符串数据类型、数值检查、异常检查、致命和非致命判断、“死亡测试”等待。 使用gtest时,就是编写断言(assertions),断言语句会检测条件是否为真。一个断言可存在三
转载
2024-03-29 15:14:17
1179阅读
配置步骤先下载gtest,并解压。下载地址:https://github.com/google/googletest用vs2013打开gtest—-msvc—-gtest工程(双击gtest),弹出如下“单向升级”窗口,单击“确定”,会弹出“迁移报告”,关闭“迁移报告”即可。用vs2013打开工程gtest;对gtest右键——>生成,即可生成gtestd.lib(这个是对应Debug的
转载
2024-05-13 15:52:13
526阅读
gtest是Google开发的一个开源单元测试框架,代码提供丰富的注释和实例,参考实际用例可以很快上手基本单元测试,丰富的代码注释能够让有兴趣的开发者深入了解gtest的代码结构并做部分针对性的二次开发。gtest主要针对c/c++提供了针对函数接口和类方法丰富测试方法,针对单元测试特有的数据或者代码反复编写的这种特性做了集成和优化,满足当前绝大部分对于单元测试的需求。其有如下特点:自动收集测试用
转载
2024-03-16 14:05:40
121阅读
引用import "testing"一些原则文件名必须是 _test.go 结尾的,这样在执行 go test 的时候才会执行到相应的代码必须 import testing 这个包所有的测试用例函数必须是 Test 开头测试用例会按照源代码中写的顺序依次执行测试函数 TestXxx() 的参数是 testing.T ,我们可以使用该类型来记录错误或者是测试状态测试格式: func TestXxx
# 如何在Android中使用GTest测试C代码
在Android开发中,使用Google Test(GTest)框架来测试C代码是一个非常有效的方法。GTest是一个功能强大的C++测试框架,支持单元测试并提供良好的报告功能。本文将为刚入行的开发者详细介绍如何在Android环境下实现GTest测试C程序。
## 流程概览
在开始之前,了解整个流程是非常重要的。下面是实现GTest测试的
gTest 目录在Clion上安装断言判断bool数值判断字符串判断显示返回成功或失败异常检查输出更详细信息自定义输出浮点数相等相近判断事件全局事件TestSuite事件TestCase事件参数化在Clion上安装下载后解压到项目配置cmake cmake_minimum_required(VERSION 3.16)
project(myTest)
message("----