首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏光城(guangcity)

    C++那些事之项目篇Catch2

    C++那些事之项目篇Catch2 今天推荐一个值得学习的开源项目"Catch2" ,之前写过如何使用google的googletest编写单元测试,你会发现需要编译生成lib库,比较麻烦,而Catch2 本节对应的视频教程: 任何一个大型项目都需要单元测试,那么本节就来引入项目篇之快速单元测试系列之一Catch2Catch2是一个功能丰富的C++测试框架,用于编写单元测试、集成测试和功能测试。 使用Catch2可以轻松编写和组织测试用例,并提供丰富的断言和测试宏来验证代码的行为和预期输出。它具有清晰的测试报告输出,支持标记和过滤测试用例,以及灵活的测试配置选项。 https://github.com/catchorg/Catch2/tree/v2.13.10 Catch2支持TDD (Test-Driven Development) 和 BDD (Behavior-Driven 最后,值得一提的是Catch2 v3版本出来了,最大的变化是Catch2不再是一个单头库,因此如果想只用一个header file,就下载v2版本吧。本节完!

    77840编辑于 2023-09-02
  • 来自专栏C/C++进阶专栏

    CC++生态工具链——单元测试工具Catch2简介

    下面开始介绍Catch2的用法,并利用Catch2实现BDD风格的测试。 这个”拿捏“的手势就是Catch2的官方logo Catch2的特性 仅使用头文件就可以完成测试样例构建,无其他依赖库。 支持自注册函数。 Catch2的安装和CMake集成 1.安装Catch2的方式 (1).直接下载头文件,然后直接在项目中使用头文件。 完整项目代码导出成依赖库(Catch2::Catch2Catch2::Catch2WithMain两个依赖库),然后用target_link_libraries函数链接这两个依赖库。 ) target_link_libraries(tests_02 PRIVATE Catch2::Catch2) Catch2依赖库和目标程序代码放在同一个目录下时使用find_package,Catch2

    2.7K20编辑于 2023-02-23
  • 来自专栏繁依Fanyi 的专栏

    ndzip使用cuda+nvcc进行环境搭建

    环境搭建 环境需求 运行 ndzip 需要以下环境,Catch2 可根据自己是否需要来选择是否安装。 CMake >= 3.15 Clang >= 10.0.0 Linux (我这里用的Ubuntu20) Boost >= 1.66 Catch2 >= 2.13.3 (可选,用于单元测试和微基准测试) sudo apt-get install libboost-all-dev 版本检查(Boost >= 1.66): dpkg -S /usr/include/boost/version.hpp Catch2 添加 Catch2需要去github上下载编译,命令如下: git clone https://github.com/catchorg/Catch2.git cd Catch2 cmake -Bbuild

    98710编辑于 2023-05-07
  • 来自专栏程序员

    C++单元测试框架选型与实战速查手册

    GoogleTest、Catch2和doctest,这三款当今最主流的选择,各有其鲜明的武功路数。本文将为你揭开它们的核心秘籍与实战优劣势,助你一招制胜。 (Gt(0),Lt(100)));EXPECT_THAT(container,ElementsAre(1,2,3));EXPECT_THAT(string,StartsWith("prefix"));Catch2 db_mock,UpdateUser(AllOf(Field(&User::id,42),Field(&User::active,true)))).WillRepeatedly(Return(true));Catch2 展开代码语言:C++AI代码解释//兼容层头文件(gtest_compat.h)#pragmaonce#ifdefMIGRATING_TO_CATCH2#include<catch2/catch_all.hpp /catch_test_macros.hpp>#include<catch2/benchmark/catch_benchmark.hpp>TEST_CASE("Performancecriticalpath

    39200编辑于 2025-12-03
  • 来自专栏光城(guangcity)

    项目篇之手把手100行写一个简易版Mutex

    基于 POSIX 标准的信号量库实现,包含 Catch2 单元测试,附带了基于 Catch2 框架的单元测试,用于验证互斥锁的正确性和稳定性,使用bazel编译,google编码规范。 2.Catch2测试框架:掌握如何使用Catch2来编写单元测试。Catch2是一个功能强大且易于使用的C++测试框架,可以帮助你编写清晰、可读性高的测试用例,提高代码质量和可靠性。

    37730编辑于 2023-09-02
  • 来自专栏开源服务指南

    开源日报 0827 | Discourse: 开源社区应用

    100%开源社区平台 可自定义控制网站运行方式和位置 创建讨论主题并通过实时聊天连接 支持丰富多样的官方和社区主题 提供各种插件支持 (如 Chatbot、Data Explorer) catchorg/Catch2 [2] Stars: 17.0k License: BSL-1.0 Catch2 是一个主要用于 C++的单元测试框架,同时还提供基本的微型基准测试功能和简单的 BDD 宏。 使用行列卡片和对话框进行简单分组 相关链接 [1] discourse/discourse: https://github.com/discourse/discourse [2] catchorg/Catch2 : https://github.com/catchorg/Catch2 [3] facebookresearch/codellama: https://github.com/facebookresearch

    65240编辑于 2023-09-02
  • 来自专栏HelloGitHub

    又有新框架上线了,测试、AI 通通有「GitHub 热点速览」

    中的计算图是动态构建的; 多设备支持,可运行在 CPU 和 GPU 上; 统一内存,数组、矩阵数据存在共享内存中; GitHub 地址→github.com/ml-explore/mlx 2.2 测试框架:Catch2 本周 star 增长数:550+,主语言:C++ Catch2 主要是一个用于 C++ 的单元测试框架,但它也提供了基本的微基准测试和简单的 BDD 宏。 以下为示例单测: #include <catch2/catch_test_macros.hpp> #include <cstdint> uint32_t factorial( uint32_t number ( factorial( 3) == 6 ); REQUIRE( factorial(10) == 3'628'800 ); } GitHub 地址→github.com/catchorg/Catch2

    63110编辑于 2023-12-11
  • 来自专栏软件研发

    C++代码调试和测试:使用调试器和单元测试工具

    Catch2 Catch2 是另一个流行的 C++ 单元测试框架,它的设计目标是简单易用和富有表达力。Catch2 提供了自动注册测试用例的功能,使得测试用例的管理变得非常便捷。 以下是一个简单的示例:cppCopy code#define CATCH_CONFIG_MAIN#include <catch2/catch.hpp>TEST_CASE("Add numbers", "

    1.4K20编辑于 2023-12-05
  • 来自专栏繁依Fanyi 的专栏

    ndzip,一个用于科学数据的高通量并行无损压缩器

    环境搭建 环境需求 运行 ndzip 需要以下环境,Catch2 可根据自己是否需要来选择是否安装。 CMake >= 3.15 Clang >= 10.0.0 Linux (我这里用的Ubuntu20) Boost >= 1.66 Catch2 >= 2.13.3 (可选,用于单元测试和微基准测试) sudo apt-get install libboost-all-dev 版本检查(Boost >= 1.66): dpkg -S /usr/include/boost/version.hpp Catch2 添加 Catch2需要去github上下载编译,命令如下: git clone https://github.com/catchorg/Catch2.git cd Catch2 cmake -Bbuild

    1.3K10编辑于 2023-05-07
  • 来自专栏小巫技术博客

    【可测试性实践】C++ 单元测试&代码覆盖率统计

    常用C++单测框架对比 特性 Google Test (gtest) Catch2 Boost.Test CppUnit 开发者 Google Phil Nash Boost社区 CppUnit社区 许可证 Catch2: 优点: 代码简洁,测试代码可读性强,单头文件,集成方便。 缺点: Mock功能需要额外的库。 Boost.Test: 优点: 功能强大,丰富的断言和测试功能,兼容Boost库。 附录 https://github.com/google/googletest https://github.com/catchorg/Catch2 https://www.boost.org/doc/

    1.2K20编辑于 2024-09-12
  • 来自专栏C++ 动态新闻推送

    C++ 动态新闻推送 第11期

    Sanitizers and Valgrind 介绍了一系列Sanitizers ASAN MSAN UBSAN TSAN LSAN The Little Things: Testing with Catch2 手把手教你用catch2 测试库 “Should we break the ABI” is the wrong question 觉得c++保持ABI不变过于保守,看向rust那种发展模式,多种abi

    61020发布于 2021-08-31
  • 来自专栏独行猫a的沉淀积累总结

    c++单元测试

    简介及简单使用_伐尘的博客-CSDN博客_gtest GTest 总结_HUSTER593的博客-CSDN博客_gtest 超轻量级c++单元测试框架Catch2_一只向前的程序猿的博客-CSDN博客_catch2 doctest/tutorial.md at master · doctest/doctest · GitHub catch2:一个好用的C++单元测试框架_ithiker的博客-CSDN博客_catch2

    2K10编辑于 2022-08-11
  • 来自专栏Python爬虫实战

    LeetCode-15.3Sum

    测试 使用 Catch2 进行测试,项目配置详见 github[1] #include "0015.3Sum.h" #include ".. /utils/utils.h" #include <catch2/catch_test_macros.hpp> #include <iostream> #include <vector> using

    53310发布于 2021-02-05
  • 来自专栏Python爬虫实战

    LeetCode-0001.TwoSum

    测试 使用 Catch2 进行测试,项目配置详见 github[1] #include "0001. Two Sum.h" #include <catch2/catch_test_macros.hpp> #include <iostream> #include "..

    48020发布于 2021-01-21
  • 来自专栏C++ 动态新闻推送

    C++ 动态新闻推送 第25期

    对比googletest boost.test catch2 doctest 都是基于宏实现(gtest,btest,doctest),且集成困难(库的形式),要么就是编译慢(catch2) 这里介绍boostext.ut

    66020发布于 2021-08-31
  • 来自专栏C++ 动态新闻推送

    C++ 中文周刊 2024-01-19 第146期

    https://github.com/boost-ext/mph 又一个hash表 https://github.com/SergeyMakeev/ExcaliburHash 他列举了一些场景,表现不过 catch2 3.5发布 https://github.com/catchorg/Catch2/releases/tag/v3.5.2 有人用吗?

    23110编辑于 2024-07-30
  • 来自专栏C++ 动态新闻推送

    C++ 动态新闻推送 第61期

    anchors 类似timely dataflow的东西,不过写的非常简单 catch2 3.0发布 本文永久链接 This site is open source.

    33210编辑于 2022-05-10
  • 来自专栏光城(guangcity)

    开源一款轻量线程池项目

    WaitForIdle(); // Shutdown the thread pool threadPool->Shutdown(); 其他case: 设置线程池数量 如何停止回调 如何异步处理 3.如何测试 测试基于catch2

    46840编辑于 2023-09-02
  • 来自专栏FreeBuf

    OpenEDR:一个功能强大的开源EDR公共库

    安全检测/警报 事件详情 工具仪表盘 处理时间轴 处理流程树 事件搜索 使用的库 AWS SDK AWS SDK for C++ Boost C++ Libraries c-ares Catch2

    4.4K30编辑于 2023-04-26
  • 来自专栏光城(guangcity)

    再开源一款轻量内存池

    3.如何测试 测试基于catch2编写,所有测试位于tests目录 可以测试tests目录下面的其他测试,只需要替换submit_test为对应的test即可。

    73530编辑于 2023-09-02
领券