SuperAPI AI 工具集

bats-testing-patterns

测试与质量

查看项目

更新于 10-16 03:13

技能介绍

用途:为 shell 脚本编写单元测试,支持脚本的测试驱动开发(TDD)、CI/CD 自动化测试、边界与错误条件验证、跨 shell 环境行为校验,以及构建可维护的测试套件。

主要能力:Bats 是符合 TAP(Test Anything Protocol)的 shell 测试框架,提供简洁自然的测试语法、TAP 输出、fixture 与 setup/teardown 支持、断言辅助和并行执行。资料覆盖退出码断言、输出断言(含 lines 变量)、文件断言、setup/teardown 与 setup_file/teardown_file、函数 mock、命令 stub、变量 stub、fixture 文件与动态生成、错误条件测试、依赖跳过、bash/sh/dash 兼容性测试、并行执行、test_helper 模式,以及 GitHub Actions 与 Makefile 集成。

安装:macOS 用 brew install bats-core;Ubuntu/Debian 克隆 https://github.com/bats-core/bats-core.git 后执行 ./install.sh /usr/local;npm 用 npm install --global bats;用 bats --version 验证。

使用方式:测试文件以 #!/usr/bin/env bats 开头,用 @test 定义用例,run 捕获 $status 与 $output,setup/teardown 管理临时目录,load test_helper 复用工具。运行示例:bats tests/*.bats,可加 --tap、--verbose、--parallel 4。

适用场景:shell 脚本单元测试、CI/CD 流水线测试、多 shell 方言兼容性验证、复杂测试场景的 fixture 构建。

限制:资料未提供具体版本要求、性能数据、收费信息或平台支持范围;部分示例使用 macOS 的 stat -f 语法,跨平台需自行调整。