linux环境编程(1): 实现一个单元测试框架-2

这篇具有很好参考价值的文章主要介绍了linux环境编程(1): 实现一个单元测试框架-2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

正片开始

在之前的文章中, 介绍了如何实现一个类似gtest的单元测试框架, 完整的项目代码可以参考这里: https://github.com/kfggww/cutest . 近期对cutest的实现做了一些修改, 包括:

  • Test Suite的声明宏, 修改为TEST_SUITE
  • 增加Test Suite的声明宏TEST_SUITE_WITH. 可传递Suite的init和cleanup函数, 在Suite中每个Case运行之前和之后分别被调用, 用于公共资源的初始化和回收.
  • Test Case的定义宏, 修改为TEST_CASE
  • 增加Test Suite和Test Case的过滤功能. 通过命令行参数, 过滤出要运行哪些测试
  • 优化测试报告输出
  • 增加json格式的测试结果输出
  • 移除各种ASSERT
  • 修改Test Case返回测试结果的方式. Case中需返回TEST_PASS/TEST_FAIL/TEST_IGNORE, 标记测试结果
  • 上传至Ubuntu PPA, 方便安装使用

对于Test Suite以及Test Case如何注册到cutest之中, 实现原理还是使用"constructor"属性函数, TEST_SUITE/TEST_CASE宏会拼接出函数实现, 在程序运行时, 在main函数调用之前, 这些"constructor"函数被调用, 完成Suite以及Case的注册. 具体实现可参考代码片段, 或者上一篇文章中的介绍.

详细信息看下面的视频吧:

结尾彩蛋

更多linux平台技术研究和讨论, 可以进入我的qq群: 838923389文章来源地址https://www.toymoban.com/news/detail-659566.html

到了这里,关于linux环境编程(1): 实现一个单元测试框架-2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

    目录 1、环境准备 2、创建一个被测试项目 3、创建单元测试项目 4、执行测试 5、说明   环境: IDE: Visual Studio 2019 单元测试框架:MSTest .NET 版本:.NET Core 3.1 Test.Sdk版本:Microsoft.NET.Test.Sdk 16.9.4 目的: 编写单元测试方法以验证   BankAccount   类的   Debit   方法,至少需要检查

    2023年04月26日
    浏览(77)
  • C语言单元测试框架——CUnit 安装(windows和Linux)及使用

    昨天把软件测试基础基本上看完了,因为我最近工作问题,需要着重研究下Cunit这个单元测试框架,上午把之前学的基础整理出来了。 刚刚研究了下Cunit除了基本 (Basic)接口,还有三个接口没使用过,我也会经量都尝试下。 下个星期我的任务是写一个墨水屏的驱动,测试的学

    2024年02月09日
    浏览(38)
  • ​基于多种语言,使用Selenium实现自动化的常用单元测试框架

    Selenium是自动化网络应用程序的首选工具。Selenium支持基于Java、C#、PHP、Ruby、Perl、JavaScript和Python等多种编程语言的各种单元测试框架。这些框架用于在 Windows、MacOS 和 Linux 等不同平台的网络应用程序上执行测试脚本。任何成功的自动化流程都有赖于强大的测试框架,这些框架

    2024年01月21日
    浏览(52)
  • Linux环境下,针对QT软件工程搭建C++Test单元测试环境的操作指南

    C++Test是Parasoft公司出品的一款可以针对C/C++源代码进行静态分析、单元测试、集成测试的测试工具。本文主要讲解如何在Linux环境下,搭建QT插件版的C++Test测试环境。 1、在官网上下载Linux环境下的QT库和QT Creator: 2、先安装依赖文件: 3、解压QT库安装包: 4、配置(用于生成

    2024年01月19日
    浏览(42)
  • 必备技能~Java编程使用Junit实现接口单元测试,快速实现接口全覆盖(1)

    2.Post请求方法 ========== public static String getJsonData(String urls,int command,String json) { StringBuffer sb=new StringBuffer(); try { // 创建url资源 URL url = new URL(urls); // 建立http连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置允许输出 conn.setDoOutput(true); // 设置允许输入 conn.setDoInput(t

    2024年04月23日
    浏览(43)
  • QTest 单元测试框架及单元测试思考

    在不同的公司和不同的项目上,常常会听到单元测试,但是真正能落实的确实寥寥无几,无非是在单元测试的开发时间和回报上模棱两可。 到底是否需要单元测试吗? 引用知乎观点如下: 第一个问题应该是,这个公司需要(覆盖率比较高的)测试么? 对于大部分公司来说,

    2023年04月08日
    浏览(77)
  • Pytest自动化测试框架---(单元测试框架)

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发一些功能(报告,初始化webdriver,或者http请求方法)便可实现。 但自

    2024年02月14日
    浏览(66)
  • 吃透单元测试:Spock单元测试框架的应用与实践

    一,单元测试 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。程序是由函数组成的,每个函数都要健壮,这样才能保证程序的整体质量。单元测试是对软件未来的一项必不可少的投资。”具体来说,单元测试有哪些收益呢? 它是最容易保证代码覆盖率

    2024年02月09日
    浏览(45)
  • 单元测试之 - Spring框架提供的单元/集成测试注解

    Spring框架提供了很多注解来辅助完成单元测试和集成测试(备注:这里的集成测试指容器内部的集成测试,非系统间的集成测试),先看看Spring框架提供了哪些注解以及对应的作用。 @RunWith(SpringRunner.class) / @ExtendWith(SpringExtension.class) : 用于在测试类中启用 Spring 框架的支持。

    2024年02月14日
    浏览(45)
  • Day14:单元测试、Junit单元测试框架、反射、注解

    针对最小的功能单元(方法)进行正确性测试 编写正规的单元测试框架 传统的无法执行自动化测试,且无法得到测试报告 Junit的作用: 测试类取名:原类名+Test(大驼峰) 测试方法取名:test+原函数名称(小驼峰) 测试方法:必须public,无参,无返回值 测试方法上面必须加

    2024年04月14日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包