当前位置: 首页 > news >正文

21.国产构建工具之王xmake——使用xmake原生单元测试(test实战)

一、引言

上一篇文章对使用xmake进行单元测试的基础知识进行了说明,大家应该已经体会了xmake在单元测试方面的便捷性与全面性,本文将通过一个c++项目实例,演示如何在项目中使用xmake进行单元测试,帮助大家更直观的学习xmake test功能。

文中使用的软件及版本:xmake3.0.7, visual studio 2019请预先安装!

二、正文

1.项目说明

在控制台中执行以下指令,创建一个c++项目,此项目的构建目标为main。

    xmake create test_unit_test

    在此项目中,我们添加一个 utils.hpp 头文件。此头文件中包含一个名为StringUtils的字符串工具类,此类用于检查输入的单词是否为回文。

    项目目录结构

    utils.hpp

    // 字符串工具,判断输入字符是否为回文(即按照从前到后和从后到前的顺序,字符完全一致,如 “level”,“minim”) class StringUtils { public:     // 测试是否为回文:如 level, minim, redivider 等     static bool isPalindrome(const std::string& str) {         int left = 0, right = str.length() - 1;         while (left < right) {             if (str[left] != str[right]) return false;             left++; right--;         }         return true;     } };

    2.添加单元测试代码

    我们完成 stringUtils类的实现后,需要对其功能进行单元测试。我们设计了5个测试用例:”radar”, “level”,“hello”,”world”,”minim”。

    使用xmake 原生单元测试功能时,我们需要手动编写测试用例框架。在src同级目录下添加一个tests目录,创建 “test_isPalindrome.cpp”文件。

    http://www.cnnetsun.cn/news/1291983.html

    相关文章:

  • ChatGPT手机App安卓版开发实战:从零构建与性能优化指南
  • UDOP-large效果展示:英文财务报表→Describe the layout→结构化描述输出
  • 基于Zynq的便携式γ能谱仪设计与实现
  • 革新性抖音直播下载工具:突破传统限制的高效内容保存方案
  • 基于RA4M2与ESP8266的嵌入式多功能时钟系统设计
  • DeEAR镜像免配置实操手册:PyTorch 2.9+Gradio 6.9环境开箱即用全流程
  • LFM2.5-1.2B-Thinking开发技巧:多模态Prompt工程实践
  • GTE+SeqGPT生成能力展示:SeqGPT-560m在标题创作中的准确率与风格控制力
  • 释放Windows 11潜能:Win11Debloat系统优化完全指南
  • MTools新闻编辑室应用:快讯摘要生成+事件关键词聚类+国际报道翻译
  • C语言开发者指南:利用Nanbeige 4.1-3B模型辅助嵌入式代码编写与调试
  • MPV_PlayKit:让专业播放器配置不再复杂的轻量解决方案
  • GTE-Base-ZH向量模型快速入门:3步完成部署与首次调用
  • Phi-3 Forest Lab实际作品:将RFC 9110 HTTP规范转为开发Checklist
  • 打造实时股票监控系统:TrafficMonitor股票插件全面指南
  • 009_How are you today
  • Qwen-Image-2512-SDNQ图片生成效果展示:复古胶片/赛璐璐/油画质感风格对比
  • 实战演练:基于快马AI生成comsol芯片散热仿真模型,解决工程热设计难题
  • CLIP-GmP-ViT-L-14生产环境:HTTPS反向代理配置与Gradio身份认证加固
  • 提升编码效率:用claude code在快马平台一键生成通用工具函数库
  • Phi-3-mini-128k-instruct入门指南:Ubuntu系统下模型部署与测试
  • 新手福音:借助快马生成的带详解代码轻松学透排列组合编程
  • Linux系统运行Photoshop CC2022的完整解决方案:从环境配置到性能优化
  • Phi-4-reasoning-vision-15B案例分享:从零散会议白板照片→结构化行动项清单
  • (五)Spring Cloud Alibaba 2023.x:Seata 分布式事务配置与实现
  • 不平衡电网电压下 VSG 如何控制三相电流平衡
  • test_1_2026
  • 探索 BMS 仿真:电池平衡控制策略与 Simulink 的奇妙结合
  • 移动通信发展历程:从2G到6G
  • iOS 被拒 4.3a Cocos【全面解读】