20.国产构建工具之王xmake——单元测试(test)
目录一、引言二、正文1. xmake中如何在目标中加入单元测试2. xmake test的参数和作用3. 补充知识——单元测试的意义和常用框架(1)单元测试的核心意义(2)xmake支持的常用单元测试框架三、结语写在前面所有内容首发都将在公众号【飞翔的SA】,也请大家移步公众号阅读,您的支持是我坚持的动力。原创不易,每一篇文章都是花费大量的时间编写而成,都是干货满满!如果各位觉得对自己有帮助,请动动您发财的小手,关注本账号, 我将持续为大家带来优质内容!一、引言在软件开发的全流程中,单元测试是保障代码质量、降低迭代风险的关键环节,也是自动化测试和CI/CD流水线的基础。而xmake作为轻量高效的跨平台构建工具,内置了完善的单元测试支持,无需额外集成复杂插件,就能快速实现测试用例的配置、运行与结果分析。本文将从xmake单元测试的实际配置出发,详细讲解测试用例的添加、测试命令的使用,同时说明单元测试的核心意义与常用框架集成方法,帮助大家快速上手xmake自动化测试。文中使用的软件及版本:xmake3.0.7请预先安装!二、正文1. xmake中如何在目标中加入单元测试在xmake中配置单元测试的核心目标是为target绑定测试用例,API为add_tests,同时搭配set_default等API实现目标的编译控制,所有配置均在xmake.lua中完成,支持对可执行程序、静态库、动态库等添加测试用例。语法target("targetName") add_tests("default",{ runargs = {"arg1","argr2"}})以下是所有相关API的详细用法,包含参数、作用及使用示例。API名称函数原型/核心参数作用说明add_testsadd_tests(testname, {参数键值对})为当前目标添加指定名称的测试用例,支持配置测试运行参数、预期输出、超时时间等,是xmake单元测试的核心API,参数:runargs/runenvs/timeout/trim_output/pass_outputs/fail_outputs/build_should_pass/build_should_fail/files/defines/realtime_outputset_defaultset_default(boolean)设置目标是否为默认构建目标,测试目标建议设为false,避免普通构建时编译测试代码,xmake执行test命令时会自动编译该目标set_groupset_group(groupname)设置目标分组, 当没有设置 group 参数给 add_tests,也可以默认获取绑定到 target 的组名add_runenvsadd_runenvs(name,values)添加运行环境变量,与 add_tests的runenvs参数功能一致,add_runenvs("PATH", "/tmp/bin", "xxx/bin") set_policyset_policy(policy, value)设置构建行为策略set_policy("test.stop_on_first_failure", true) 首次测试失败就终止set_policy("test.return_zero_on_failure", true):返回0为失败add_tests 参数说明参数名作用说明使用示例runargs配置测试用例运行时传递的命令行参数,支持多参数列表add_tests("test1", {runargs = {"--mode=test", "data.txt"}})runenvs设置测试用例运行时的环境变量,键值对形式配置add_tests("test2", {runenvs = {TEST_ENV = "dev", DEBUG = "1"}})timeout设置测试用例的超时时间(单位:秒),超时则判定测试失败add_tests("test3", {timeout = 10})trim_output是否修剪测试输出内容的首尾空白字符(true/false),常配合输出校验使用add_tests("test4", {trim_output = true, pass_outputs = "success"})pass_out
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2411663.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!