运行和筛选测试
使用 zig test 并缩小运行范围。
运行和筛选测试 是 CoddyKit 上的免费 Zig Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Zig Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Zig Academy 课程共包含 4 节课。
用一条命令运行测试
要运行文件中的测试,您需要以测试模式调用编译器。zig test 命令会编译并执行它找到的每个测试代码块。
zig test src/main.zig指定一个文件
您需要将根源文件传给 zig test。它会加载该文件中的测试,以及通过 @import 间接加载的任何文件中的测试。
阅读摘要
运行结束后,Zig 会打印通过的测试数量。像“All 7 tests passed”这样的行表示每个 test 代码块都在没有错误的情况下返回。
测试失败时
失败时,Zig 会打印测试名称、失败的断言和堆栈跟踪。您选择的 name 会让这些信息易于阅读。
按名称筛选
使用 --test-filter 只运行您关心的测试。只有名称包含指定文本的测试才会执行。
zig test src/main.zig --test-filter parse筛选为何有帮助
修复某项功能时,您只需重新运行与它相关的测试,因此反馈会很快。--test-filter 标志会匹配测试名称中的子字符串。
有意跳过测试
从测试中返回特殊的 error.SkipZigTest,即可将其标记为跳过而不是失败。这对于尚未准备好的情况很有用。
if (slow) return error.SkipZigTest;跳过的测试单独统计
摘要会将跳过的测试与通过和失败的测试分开统计,因此一次 skip 不会掩盖测试套件中的真实问题。
通过构建运行测试
在实际项目中,您通常会通过构建系统运行测试。配置好的 zig build test 步骤会编译并运行测试。
zig build test测试不需要 main
只有 test 代码块而没有 main 函数的文件,也能与 zig test 一起正常工作。测试运行器会为您提供入口点。
养成测试习惯
由于运行测试只需一条命令,您可以在每次修改后都运行它。快速反馈正是保持 Zig 代码库可靠的关键。
快速检查
您只想运行名称中包含单词 parse 的测试。应该使用哪条命令?
回顾
您使用 zig test 运行了测试,阅读了摘要,按名称进行了筛选,使用 error.SkipZigTest 跳过了测试,并了解了 zig build test。✅
常见问题解答
「运行和筛选测试」课时是免费的吗?
是的 — 「运行和筛选测试」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Zig Academy 课程的其余内容,请升级到 CoddyKit PRO。 Zig Academy 课程共包含 4 节课。
「运行和筛选测试」这节课中我会学到什么?
使用 zig test 并缩小运行范围。 你通过在浏览器中直接运行的动手代码来练习 Zig Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Zig Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Zig Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「运行和筛选测试」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Zig Academy 课中编写并运行代码吗?
能。每节 Zig Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。