cppunit helloworld详尽篇

掌握C++单元测试:cppunit-1.12.1框架详解与应用 单元测试是软件开发中确保代码质量的关键实践之一。cppunit框架,作为JUnit的C++移植,为C++开发者提供了一个强大的单元测试解决方案。本章将从以下几个方面深入解析cppunit框架的核心概念:单元测试的重要性:我们将探讨为什么单元测试是质量保证不可或缺的一环,它如何帮助开发者早期发现并修复缺陷,提高软件的稳定性和可靠性。cppunit的基本组成。 阅读详情
cppunit文档真少。一个hellpworld程序折腾了好几个小时才折腾够。tnnd作者给的帮助就那么几句话。

偶就结合折腾过程,写一个更详细点的helloworld。

系统:fc4,gcc4

(1)下载
    到cppunit.sourceforge.net上下载源代码。我的是cppunit-1.10.2.tar.gz。copy到/usr/src下。运行:
        tar -xf cppunit-1.10.2.tar.gz
    解压缩。
(2)安装
    进入cppunit-1.10.2目录下。运行:
        ./configure; make; make check; make install
    安装。make check有些项通不过。没关系。:P
    .o, .a文件已经安装到/usr/local/lib中去了,但头文件没安装到/usr/include中去
(3)copy *.h文件
    把cppunit-1.10.2的cppunit目录复制到/usr/include下
(4)撰写mytest.cpp(从cppunit.sourceforge.net上copy下来的)
 1 #include <iostream>
 2 
 3 #include <cppunit/TestRunner.h>
 4 #include <cppunit/TestResult.h>
 5 #include <cppunit/TestResultCollector.h>
 6 #include <cppunit/extensions/HelperMacros.h>
 7 #include <cppunit/BriefTestProgressListener.h>
 8 #include <cppunit/extensions/TestFactoryRegistry.h>
 9 
10 
11 class Test : public CPPUNIT_NS::TestCase
12 {
13   CPPUNIT_TEST_SUITE(Test);
14   CPPUNIT_TEST(testHelloWorld);
15   CPPUNIT_TEST_SUITE_END();
16 
17 public:
18   void setUp(void) {}
19   void tearDown(void) {} 
20 
21 protected:
22   void testHelloWorld(void) { std::cout << "Hello, world!" << std::endl; }
23 };
24 
25 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
26 
27 int main( int argc, char **argv )
28 {
29   // Create the event manager and test controller
30   CPPUNIT_NS::TestResult controller;
31 
32   // Add a listener that colllects test result
33   CPPUNIT_NS::TestResultCollector result;
34   controller.addListener( &result );        
35 
36   // Add a listener that print dots as test run.
37   CPPUNIT_NS::BriefTestProgressListener progress;
38   controller.addListener( &progress );      
39 
40   // Add the top suite to the test runner
41   CPPUNIT_NS::TestRunner runner;
42   runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
43   runner.run( controller );
44 
45   return result.wasSuccessful() ? 0 : 1;
46 }
47 
48 
(5)编译,运行
        有两种方法
        (a) 链接静态库。编译命令:
       g++ -L/usr/local/lib/libcppunit.a mytest.cpp -lcppunit -ldl -o mytest
       运行:
       ./mytest
       结果:
        Test::testHelloWorldHello, world!
         : OK
         (b) 链接动态库。编译命令:
       g++ mytest.cpp -lcppunit -ldl -o mytest
       运行时要先设置环境变量LD_LIBRARY_PATH到cppunit的安装目录,也就是/usr/local/lib,命令如下:
       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
       然后运行:
       ./mytest
       结果:
        Test::testHelloWorldHello, world!
         : OK
C++单元测试工具CppUnit使用简介 准备工作:   1. 到 https://sourceforge.net/projects/cppunit/CppUnit测试框架的源代码   2. 解压文件,进入src文件夹,打开CppUnitLibraries.dsw.分别编译这两个project,输出位置均为lib文件夹。   3.在VC的tools/optiONs/directories/include files和library files中设置include路径和lib路径。   4.右键我的电脑设定->->环境变量->系统变量->Path中,将Cppuint的目录的lib路径设置为系统搜索路径   创建测试工程:   立即下载

相关推荐

论文阅读—Square Attack: a query-efficient black-box adversarial attack via random search

论文阅读—Square Attack: a query-efficient black-box adversarial attack via random search 发表位置 ECCV 2020 摘要 作者提出了一种基于得分的黑盒Square attack,该模型不依赖于模型的局部梯度信息,因此可以绕过梯度隐藏防御攻击。Square Attack是一种随机搜索方法,它在随机位置选择局部的方形更新,使得每次迭代时扰动近似位于可行集的边界。 背景 当涉及到对安全至关重要的机器学习应用时,对抗性的例子尤其值得

yayayamaomaoya的博客 2493

全面了解CPPUnit

全面了解CPPUnit 一、   单元测试与CPPUNIT简介 几乎每个开发人员都写过测试代码,但是往往这些代码不系统,也没有良好的管理,同时在测试代码编写过程中也有很多重复的劳动,比较繁琐。在一个软件开发过程中,往往会进行很多修改,迭代开发的模型随处可见,如何验证程序的功能、性能和结构是否符合要求是一项重要的工作。 单元测试是属于白盒测试和结构性测试,一般由开发人员开展,当然如果有好的测试

thanklife的专栏 5010

川崎机器人 AS语言基础运动指令表

    功能简介 动作方式 参考坐标系 位置特性 X,Y,Z 角度特性 O,A,T 指令格式(距离单位毫米,时间单位秒,角度单位度 示例1 示例2 运 动 指 令 JMOVE 以关节移动到目标点 关节移动方式 基础坐标系 不受控 伪随机动作 JMOVE 目标点 JMOVE #yd JMOVE put1 LMOVE 以直线移动到目标点 直线移动方式

喜欢自学并分享经验的技术宅 9352

使用CPPUnit执行C/C++单元测试

Windows环境下,使用CPPUnit执行C/C++单元测试,支持VS2013/VS2015/VS2017/VS2019开发环境,支持x86和x64。

geriletuma 1559

ARS408毫米波雷达数据解析避坑指南:从硬件连接到Python处理

本文提供了ARS408毫米波雷达从硬件连接到Python数据处理的完整实战指南。针对串口通信不稳定、数据解析错误等常见问题,详细解析了硬件连接方案选择、串口数据高效读取策略、二进制协议解析的位操作技巧,并给出了坐标转换、目标跟踪及实时可视化的代码实现,帮助开发者快速搭建稳定的雷达数据处理流水线。

weixin_29091105的博客 149

手把手教你用RK3568开发板实现FPGA与Linux的DMA通信(含完整代码解析)

本文详细介绍了如何在RK3568开发板上实现FPGA与Linux系统的DMA通信,包括硬件配置、软件环境搭建、DMA通信原理、驱动开发及性能优化。通过完整的代码解析和实战案例,帮助开发者快速掌握异构系统间的高效数据传输技术,适用于物联网和边缘计算等场景。

weixin_29174385的博客 201

CPPUNIT基本原理【转载】

一、CPPUNIT概念   CPPUNIT是一个测试驱动开发的测试框架。所谓测试驱动开发(TDD)是一种可以在开发过程中控制忧虑感的开发方法,它坚持以测试作为开发过程的中心,在开发前根据对将要开发的程序的要求,先写好所有测试代码,并且在开发过程中不断地通过运行测试代码来获得所开发的代码与所要求的结果之间的差距。 CPPUNIT是XUNIT的一部分,它是由JUNIT演变过来的,专门针对...

weixin_30316097的博客 187

告别测序污染:手把手教你用Decontam+SCRUB+FEAST完成微生物组数据清洗全流程

本文详细解析了使用Decontam、SCRUB和FEAST三大工具完成微生物组数据清洗的全流程。从环境准备、数据导入到污染物识别、样本间污染校正及溯源分析,提供了一套可复用的污染校正工作流,帮助研究者提升数据质量,确保后续分析的可靠性。

weixin_33462927的博客 317

便利的开发工具 CppUnit 快速使用指南

便利的开发工具 CppUnit 快速使用指南内容:背景基本原理CppUnit 的原理手动使用步骤常用使用方式其他实际问题参考资料关于作者相关内容:介绍介绍 -->

mounTon... 2888

详细推导波特图增益和相位曲线

文章来源:https://mp.weixin.qq.com/s/UCy9mRRok5Hc9qHq3qde5g 今天这篇文章想把近段时间关于波特图方面学习的内容整理一下。波特图将会是梳理闭环控制这个系列的开始。目前的计划是,以无源器件为基础,然后结合运放,再过渡到开关电源的环路控制方面。如果对这方面感兴趣的朋友,可以持续一起学习起来,目标就是掌握开关电源的闭环控制。 1. 什么是波特图? 波特图最常见的应用是在线性非时变的系统中,用于对传递函数的增益和相位进行分析,从而判断出系统随频率的响应是否稳定。因此,波

ltqdxl的博客 2万+

C# Blazor Server工业监控Web UI:实时数据推送、历史曲线、报警记录,跨浏览器访问(踩坑总结+生产可用)

坑点现象解决方案StateHasChanged()太频繁服务器CPU占用高,浏览器卡顿别100ms刷新一次,1秒刷新一次足够并发高时服务器卡多个用户同时访问,服务器响应慢用Redis做分布式缓存,或者加服务器做负载均衡断线重连后数据丢失浏览器刷新后,实时数据不更新用InfluxDB存历史数据,刷新后重新查询工业现场网络不稳定Blazor Server频繁断线用SQLite本地缓存,断网时数据不丢,联网后补发历史曲线查询慢查询过去7天的数据,要等很久。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 305

Linux 下cppunit 的Helloworld 【转载】

版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。= 操作系统系统:Ubuntu6,g++ 软件版本:cppunit-1.10.2.tar.gz (1)获得源码: 到cppunit.sourceforge.net上下载源代码。将其复制到到linux下或者是直接使用wget下载到linux下。 (2)解压缩:...

135

23、视频时间码与数字同步技术详解

本文深入解析了视频时间码与数字同步技术的核心原理及应用。涵盖线性时间码(LTC)和垂直间隔时间码(VITC)的结构与特性,详细阐述了降帧时间码的补偿机制及其在影视制作中的重要性。文章还介绍了定时参考信号(TRS)在SDTV和HDTV中的实现方式,分析了辅助数据的传输结构与发展趋势,并探讨了SDI编码技术及其在不同视频标准下的差异。通过实际应用场景和技术发展影响的剖析,全面展示了这些关键技术如何支撑现代视频系统的高效运行与持续创新。

wine的专栏 237

linux unittest cpp,Linux下的CppUnit 的HelloWorld手记

操作系统系统:Ubuntu6,g++软件版本:cppunit-1.10.2.tar.gz(1)获得源码:到cppunit.sourceforge.net上下载源代码。将其复制到到linux下或者是直接使用wget下载到linux下。(2)解压缩:使用以下命令即可解压缩tar -zxvf cppunit-1.10.2.tar.gz(3)编译安装cd进cppunit-1.10.2目录下。./confi...

weixin_36174545的博客 175

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux下的CppUnit 的HelloWorld手记

版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。= 操作系统系统:Ubuntu6,g++ 软件版本:cppunit-1.10.2.tar.gz (1)获得源码:     到cppunit.sourceforge.net上下载源代码。将其复制到到linux下或者是直接使用wget下载到linux下。 (2)解压缩: 使用以下命令即可解压缩

工作记录--创造或收集原创 697

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

(转)Linux下的CppUnit 的HelloWorld手记

转自:http://blog.youkuaiyun.com/panyuequn/archive/2009/12/07/4958454.aspx版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。=操作系统系统:Ubuntu6,g++软件版本:cppunit-1.10.2.tar.gz(1)获得源码:    到cppunit.sourceforg

hairetz的专栏 3509

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CPPUNIT基本原理

一、CPPUNIT概念   CPPUNIT是一个测试驱动开发的测试框架。所谓测试驱动开发(TDD)是一种可以在开发过程中控制忧虑感的开发方法,它坚持以测试作为开发过程的中心,在开发前根据对将要开发的程序的要求,先写好所有测试代码,并且在开发过程中不断地通过运行测试代码来获得所开发的代码与所要求的结果之间的差距。 CPPUNIT是XUNIT的一部分,它是由JUNIT演变过来的,专门针对C/C++

lanbingluyu的专栏 638

CppUnit-探索中

  CppUnit没有这么难吧?  网上的资料不外乎把老外的东东翻译过来,转来转去,其中多数写得不明不白,又或者简单到没有学习价值。  一个像样的HelloWorld搞了几个小时还没搞掂。  搞掂了我要写一篇。

Samlin的专栏 1019
上一篇: CppUnit测试框架入门
下一篇: CppUnit 介绍
pll621
博客等级 码龄25年 27粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值