doctest

2025-12-11 0 203

分支
开发分支

doctest是一个新的C ++测试框架,但与其他功能丰富的替代方案相比,迄今为止(按数量级)和运行时是最快的。它带来了诸如D / Rust / Nim之类的编译语言的能力,这要归功于具有干净界面的快速,透明和灵活的测试跑者,因此可以直接在生产代码中编写测试。

该框架是并且将保持自由,但需要您的支持来维持其发展。有很多新功能和维护要做。如果您在使用doctest公司工作或有能力这样做,请考虑财务支持。每月通过Patreon捐款和一次性通过PayPal捐款。

一个完整的示例,具有自注册测试,将其编译为可执行的外观:

有许多C ++测试框架 – 捕获,boost.test,Untest ++,cpputest,googletest等。

IT和其他测试框架之间的关键区别在于它是轻巧且不感知的:

  • 包括标题和编写数千个断言的情况下,编译时间的超灯
  • 即使在MSVC / GCC / Clang最激进的警告级别上也不会发出任何警告
  • 可以使用doctest _config_disable标识符从二进制中删除与测试相关的所有内容
  • 线程安全– 可以从单个测试用例产生的多个线程中使用断言 –示例
  • 断言可以在测试上下文之外使用 – 作为通用断言库 –示例
  • 没有全球名称空间污染(一切都在doctest中::)&不拖动任何标题
  • 便携式C ++ 11(C ++ 98使用标签1.2.9 ),具有100多种不同的CI构建(静态分析,消毒剂..)
  • 二进制文件(EXE/DLL)可以使用单个注册表中的另一个二进制=>测试的测试跑者 –示例

这允许以比任何其他方式使用更多的方式使用该框架 – 可以直接在生产代码中写入测试!

测试可以是文档的一种形式,应该能够驻留在他们测试的生产代码附近。

  • 这使得编写测试的障碍要低得多– 您不必: 1)制作一个单独的源文件2)在其中包含一堆东西3)将其添加到构建系统中, 4)将其添加到源控件中 – 您只需在其源文件的底部编写一个类别或功能的测试,甚至可以将其添加到源文件的底部 – 甚至是标题文件!
  • 生产代码中的测试可以被视为文档/最新评论 – 展示API
  • 测试未通过公共API和标头曝光的内部设备不再是一种弯曲的练习
  • C ++中的测试驱动开发从未如此简单!

框架可以像其他任何人一样使用,而无需混合生产代码和测试 – 查看功能

doctest是在捕获后建模的,并且已直接采用了代码的某些部分 – 查看差异

该表比较了非常相似的doctest / Catch / catch / fast / catch / f

YouTube上查看CPPCON 2017 Talking ,以更好地了解该框架的工作原理,并在Jetbrains文章中阅读有关如何使用它的信息 – 突出显示框架的独特方面!在有关如何在生产代码上使用框架的简短说明,您可以参考此GitHub问题。 2月份ACCU Overload 2017中还有一篇较旧的文章

文档

项目:

  • 功能和设计目标 – 功能的完整列表
  • 社区驱动的路线图 – 即将到来的功能
  • 基准 – 编译时间和运行时至上
  • 贡献 – 如何提出适当的拉请请求
  • ChangElog-基于封闭的问题/PR生成的变形值

用法:

  • 教程 – 确保您已经阅读了文档的其他部分
  • 断言宏
  • 测试用例,子速率和测试固定装置
  • 参数化测试用例
  • 命令行
  • 记录宏
  • main()入口点
  • 配置
  • 字符串转换
  • 记者
  • 扩展
  • 常问问题
  • 构建系统
  • 例子

错误和功能建议

如果找到错误,请报告!如果您对如何改进项目有一个想法,那么从更好的文档到添加新功能,请考虑准备功能建议。我们之所以将其称为建议,是因为“请求”一词的意图错误,没有人会自动为您修复它,但是在实施之前,可以讨论,接受或拒绝这个想法。在提交任何问题之前,请确保阅读贡献页面,并在此处记录分类程序。

贡献

通过捐款支持项目的开发!有一系列计划的功能列表,这些功能都很重要,而且很大 – 请参阅路线图

如果您在使用doctest公司工作或有能力这样做,请考虑财务支持。

也欢迎以问题和拉请求形式的贡献 – 查看贡献页面。

随着时间的流逝,观星者

标识

该徽标是根据创意共享归因4.0国际许可证获得许可的。版权所有©2019 Area55Git

下载源码

通过命令行克隆项目:

git clone https://github.com/doctest/doctest.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 doctest https://www.zuozi.net/33887.html

frigate
上一篇: frigate
GetWindows11Utility
下一篇: GetWindows11Utility
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务