@drevops/bats-helpers

中文文档
2.0.0发布于 2026/08/06GPL-3.0-or-later近 30 天下载 2509

BATS测试的助手和断言.

中文使用文档
文档目录9 节
  1. 目录
  2. * 特性
  3. * 安装
  4. 国家预防机制
  5. 从源
  6. 使用量
  7. 页:1
  8. API 参考
  9. 捐款

BATS helpers logo

BATS 帮助者

GitHub Issues GitHub Pull Requests Test shell codecov GitHub release (latest by date) LICENSE Renovate


助手和对 贝斯 测试.

目录

* 特性

  • 请求命令输出,其单个行,退出状态,标准出错,字符串,文件,目录和git寄存器.
  • 字形,正则表达式和格式相匹配,以大小写灵敏度为明确选择.
  • 命令用每个调用输出,退出状态和副作用来嘲弄,以及用相匹配的参数选择的响应.
  • 每一个被嘲弄的呼叫的指令记录, 声称为序列, 并报告为统一指令.
  • 模拟预期,当它们没有被利用时,或者当一个意外的呼叫到来时,没有通过测试.
  • 一个选入的沙盒模式,其中名称拒绝一个未嵌入的命令,其中包含一个必须运行为真实的命令的允许列表,以及一份离开模拟边界的一切报告.
  • 步跑的顺序 被嘲笑的呼叫和输出断言.
  • 在创建它去掉的东西的代码旁边注册了被推迟的清理.
  • 重试任何同步的, 以尝试计数、 延迟和可选的最后期限为界限 .
  • 在许多测试案例上运行一种功能的数据提供者,包括指定案例、每个案例的可分性、选定的断言和矩阵扩展.
  • 用于建造和恢复测试沙盒的固定和备案设施.
  • 一个纯文本档案,用于在测试中宣布一个完整的固定文件树的内线,将一个目录串回到它,并且用每个文件的diffs对它主张一个目录.
  • TUI帮助驾驶带有脚本解答的交互式脚本,以最后期限为界并断言反对被打印的脚本的提示.

* 安装

要求数 蝙蝠分数 1.13 或更新,和巴什 4.0 或更新。 巴什号舰 3.2,所以安装一个当前 brew install bash。 。 。 .

国家预防机制

npm install -D bats-helpers@npm:@drevops/bats-helpers

这也将安装 bats-core。 。 。 .

从源

  1. 点击 Code - > (中文) Download ZIP 输入 GitHub 用户界面。 。 。 .
  2. 提取文件到想要的位置 。 通常,在什么地方旁边 bats-core 已经定位.

使用量

创建一个 _loader.bash 包含内容的 BATS 测试旁边的文件 :

# For NPM installation:
export BATS_LIB_PATH="${BATS_TEST_DIRNAME}/../node_modules"

# For source installation:
# export BATS_LIB_PATH="<path/to/extracted/files>"

bats_load_library bats-helpers

然后使用 load _loader.bash 每个 BATS 测试文件中 :

#!/usr/bin/env bats
load _loader.bash

@test "My test" {
 run ls
 assert_success
}

页:1

每个页面都记录一个库模块,并列出模块所读取的变量,以及它们改变的行为。 匹配模式是一个例外, 描述每个断言的家庭份额。 这个 API 参考 下面将每个公共功能链接到文件的页面.

页次来源封面
命令断言src/assert.command.bash命令运行中的输出、退出状态和标准错误 run
直线断言src/assert.line.bash按指数、任何行和计数分列的捕获流的个别行数
字符串断言src/assert.string.bash平庸的弦, 和断言背后的弦工具
文件断言src/assert.file.bash文件、目录和符号链接
Git 断言src/assert.git.bashGit 寄存器和它们跟踪的文件
匹配模式src/assert.string.bash针是怎样读取的,以及病例是否重要
报告失败src/assert.base.bash每一次失败报告的形状, 以及如何提出一个
嘲笑src/mock.bash命令嘲笑、呼叫日志、参数规格、严格性和沙盒模式
步长跑src/steps.bash被嘲笑的电话和产出断言的序列
数据提供者src/dataprovider.bash在许多测试案件中运行一个功能
交互式脚本src/tui.bash驾驶一个提问的脚本
重试src/retry.bash不久就变成现实的条件
清理src/cleanup.bash推迟的每次测试清理
固定设备src/fixture.bash建筑、倾倒和主张文件树
文件公用事业src/file.bash创建、裁剪、备份和恢复文件

API 参考

每个公共功能,定义它的文件,以及文档的页面. 其名字从下划线开始的功能是内部的,不属于公共API的一部分,可能在任何发布时不经通知而改变或消失.

函数来源说明文档
flunk(原始内容存档于2018-07-21). profile.base.bash信息、堆栈追踪和稳定路径的测试失败报告失败
format_error(原始内容存档于2018-07-21). profile.base.bash将失败报告格式化为对齐行的标题块报告失败
assert_empty维护. string.bash确定字符串为空字符串断言
assert_not_empty维护. string.bash确定字符串不是空的字符串断言
assert_equal维护. string.bash确定两个字符串是相等的字符串断言
assert_string_contains维护. string.bash确定字符串包含子字符串字符串断言
assert_string_contains_case维护. string.bash确定字符串包含子字符串, 对大小写敏感字符串断言
assert_string_not_contains维护. string.bash确定字符串不包含子字符串字符串断言
assert_string_not_contains_case维护. string.bash确定字符串不包含子字符串, 区分大小写字符串断言
assert_string_starts_with维护. string.bash确定字符串以子字符串开头字符串断言
assert_string_starts_with_case维护. string.bash确认字符串以子字符串开头,对大小写敏感字符串断言
assert_string_not_starts_with维护. string.bash确定字符串不是以子字符串开头字符串断言
assert_string_not_starts_with_case维护. string.bash确定字符串不以子字符串开头, 区分大小写字符串断言
assert_string_ends_with维护. string.bash确定字符串以子字符串结尾字符串断言
assert_string_ends_with_case维护. string.bash确定字符串以子字符串结尾, 区分大小写字符串断言
assert_string_not_ends_with维护. string.bash确定字符串不会以子字符串结尾字符串断言
assert_string_not_ends_with_case维护. string.bash确定字符串不会以子字符串结尾, 区分大小写字符串断言
assert_string_matches维护. string.bash确定字符串匹配正则表达式字符串断言
assert_string_matches_case维护. string.bash确定字符串匹配正则表达式, 区分大小写字符串断言
assert_string_not_matches维护. string.bash确定字符串不匹配正则表达式字符串断言
assert_string_not_matches_case维护. string.bash确定字符串不匹配正则表达式, 区分大小写字符串断言
assert_string_matches_format维护. string.bash确定字符串匹配格式字符串字符串断言
assert_string_matches_format_case维护. string.bash确定字符串匹配格式字符串, 区分大小写字符串断言
assert_string_not_matches_format维护. string.bash确定字符串与格式字符串不符字符串断言
assert_string_not_matches_format_case维护. string.bash确定字符串不匹配格式字符串,对大小写敏感字符串断言
string_match维护. string.bash报告针头是否与干草堆相匹配,而不断言串接公用事业
string_format_to_regex维护. string.bash将格式字符串翻译为扩展正则表达式串接公用事业
string_random维护. string.bash生成一个随机的字母数字字符串, 8 个字符默认长串接公用事业
assert_success维护。命令。bash认定命令成功命令断言
assert_failure维护。命令。bash确认命令失败命令断言
assert_output维护。命令。bash确定命令输出精确的字符串命令断言
assert_output_contains维护。命令。bash显示输出包含子字符串命令断言
assert_output_contains_case维护。命令。bash显示输出包含一个子字符串, 区分大小写命令断言
assert_output_not_contains维护。命令。bash表示输出不包含子字符串命令断言
assert_output_not_contains_case维护。命令。bash显示输出不包含子字符串, 区分大小写命令断言
assert_output_matches维护。命令。bash显示输出匹配正则表达式命令断言
assert_output_matches_case维护。命令。bash显示输出匹配正则表达式, 区分大小写命令断言
assert_output_not_matches维护。命令。bash显示输出不匹配正则表达式命令断言
assert_output_not_matches_case维护。命令。bash显示输出不匹配正则表达式, 区分大小写命令断言
assert_output_matches_format维护。命令。bash显示输出匹配格式字符串命令断言
assert_output_matches_format_case维护。命令。bash显示输出匹配格式字符串, 区分大小写命令断言
assert_output_not_matches_format维护。命令。bash显示输出不符合格式字符串命令断言
assert_output_not_matches_format_case维护。命令。bash显示输出不匹配格式字符串, 区分大小写命令断言
assert_status维护。命令。bash确定命令退出时有确切状态退出状态
assert_failure_status维护。命令。bash确定一个命令在精确状态下失败退出状态
assert_status_general_error维护。命令。bash确认命令退出状态 1退出状态
assert_status_command_not_found维护。命令。bash确认命令退出状态 127退出状态
assert_stderr维护。命令。bash确定命令会给 STDERR 写精确的字符串标准错误
assert_stderr_empty维护。命令。bash确认一个命令没有写给 STDERR标准错误
assert_stderr_captured维护。命令。bash确定STDERR与输出分开捕获标准错误
assert_stderr_contains维护。命令。bash确定 STDERR 包含下字符串标准错误
assert_stderr_contains_case维护。命令。bash确定 STDERR 包含一个子字符串, 区分大小写标准错误
assert_stderr_not_contains维护。命令。bash确定 STDERR 不包含子字符串标准错误
assert_stderr_not_contains_case维护。命令。bash确定 STDERR 不包含子字符串, 对大小写敏感标准错误
assert_stderr_matches维护。命令。bash确定 STDERR 匹配正则表达式标准错误
assert_stderr_matches_case维护。命令。bash确定 STDERR 匹配正则表达式, 区分大小写标准错误
assert_stderr_not_matches维护。命令。bash认定 STDERR 不匹配正则表达式标准错误
assert_stderr_not_matches_case维护。命令。bash认定 STDERR 不匹配正则表达式, 区分大小写标准错误
assert_stderr_matches_format维护。命令。bash确定 STDERR 匹配格式字符串标准错误
assert_stderr_matches_format_case维护。命令。bash确定 STDERR 匹配格式字符串, 区分大小写标准错误
assert_stderr_not_matches_format维护。命令。bash确定 STDERR 不匹配格式字符串标准错误
assert_stderr_not_matches_format_case维护。命令。bash确定 STDERR 不匹配格式字符串, 区分大小写标准错误
assert_line主张. line.bash确定索引中的行等于字符串直线断言
assert_line_not主张. line.bash确定索引中的行不等于字符串直线断言
assert_line_contains主张. line.bash确定索引中的行包含字符串直线断言
assert_line_contains_case主张. line.bash确定索引中的行包含对大小写敏感的字符串直线断言
assert_line_not_contains主张. line.bash确定索引中的行不包含字符串直线断言
assert_line_not_contains_case主张. line.bash确定索引中的行不包含字符串, 区分大小写直线断言
assert_line_matches主张. line.bash确定索引中的行匹配正则表达式直线断言
assert_line_matches_case主张. line.bash确定索引中的行匹配正则表达式, 区分大小写直线断言
assert_line_not_matches主张. line.bash确定索引中的行与正则表达式不符直线断言
assert_line_not_matches_case主张. line.bash确定索引中的行不匹配正则表达式, 区分大小写直线断言
assert_line_matches_format主张. line.bash确定索引中的行匹配格式字符串直线断言
assert_line_matches_format_case主张. line.bash确定索引中的行匹配格式字符串,对大小写敏感直线断言
assert_line_not_matches_format主张. line.bash确定索引中的行与格式字符串不符直线断言
assert_line_not_matches_format_case主张. line.bash确定索引中的行不匹配格式字符串, 区分大小写直线断言
assert_any_line主张. line.bash确定某些行等于字符串任意行
assert_no_line主张. line.bash确定无行等于字符串任意行
assert_any_line_contains主张. line.bash确定某些行包含字符串任意行
assert_any_line_contains_case主张. line.bash确定某些行包含字符串, 区分大小写任意行
assert_no_line_contains主张. line.bash确定无行包含字符串任意行
assert_no_line_contains_case主张. line.bash确定没有行包含字符串, 区分大小写任意行
assert_any_line_matches主张. line.bash确定一些行匹配正则表达式任意行
assert_any_line_matches_case主张. line.bash确定一些行匹配正则表达式, 区分大小写任意行
assert_no_line_matches主张. line.bash确定没有匹配正则表达式的行任意行
assert_no_line_matches_case主张. line.bash确定无行匹配正则表达式, 区分大小写任意行
assert_any_line_matches_format主张. line.bash确定一些行匹配格式字符串任意行
assert_any_line_matches_format_case主张. line.bash确定一些行匹配格式字符串, 区分大小写任意行
assert_no_line_matches_format主张. line.bash确定没有匹配格式字符串的行任意行
assert_no_line_matches_format_case主张. line.bash确定没有匹配格式字符串的行, 区分大小写任意行
assert_line_count主张. line.bash确定行数计数
assert_line_count_not主张. line.bash确认行数不同计数
assert_line_count_contains主张. line.bash显示有多少行包含字符串计数
assert_line_count_contains_case主张. line.bash显示有多少行包含字符串, 区分大小写计数
assert_line_count_not_contains主张. line.bash确定有多少行不包含字符串计数
assert_line_count_not_contains_case主张. line.bash确定有多少行不包含字符串, 区分大小写计数
assert_line_count_matches主张. line.bash确定多少行匹配正则表达式计数
assert_line_count_matches_case主张. line.bash确定多少行匹配正则表达式, 区分大小写计数
assert_line_count_not_matches主张. line.bash确定有多少行不匹配正则表达式计数
assert_line_count_not_matches_case主张. line.bash显示有多少行不匹配正则表达式, 区分大小写计数
assert_line_count_matches_format主张. line.bash显示与格式字符串相匹配的行数计数
assert_line_count_matches_format_case主张. line.bash指定多少行匹配格式字符串, 区分大小写计数
assert_line_count_not_matches_format主张. line.bash确定有多少行不匹配格式字符串计数
assert_line_count_not_matches_format_case主张. line.bash确定多少行不匹配格式字符串, 区分大小写计数
assert_file_existsprofile.file.bash (英语)确定文件存在文件断言
assert_file_not_existsprofile.file.bash (英语)确定文件不存在文件断言
assert_file_containsprofile.file.bash (英语)确定文件包含字符串文件断言
assert_file_contains_caseprofile.file.bash (英语)确定文件包含字符串, 区分大小写文件断言
assert_file_not_containsprofile.file.bash (英语)确定文件不包含字符串文件断言
assert_file_not_contains_caseprofile.file.bash (英语)确定文件不包含字符串, 区分大小写文件断言
assert_file_matchesprofile.file.bash (英语)确定文件匹配正则表达式文件断言
assert_file_matches_caseprofile.file.bash (英语)确定一个文件匹配正则表达式, 区分大小写文件断言
assert_file_not_matchesprofile.file.bash (英语)确定文件与正则表达式不符文件断言
assert_file_not_matches_caseprofile.file.bash (英语)确定文件不匹配正则表达式, 区分大小写文件断言
assert_file_matches_formatprofile.file.bash (英语)确定文件匹配格式字符串文件断言
assert_file_matches_format_caseprofile.file.bash (英语)确定一个文件匹配格式字符串, 区分大小写文件断言
assert_file_not_matches_formatprofile.file.bash (英语)确定文件不符合格式字符串文件断言
assert_file_not_matches_format_caseprofile.file.bash (英语)确定文件不匹配格式字符串, 区分大小写文件断言
assert_files_equalprofile.file.bash (英语)确定两个文件相等文件断言
assert_files_equal_ignore_spacesprofile.file.bash (英语)确定两个文件是平等的, 忽略空白行和空白更改文件断言
assert_files_not_equalprofile.file.bash (英语)确定两个文件不相等文件断言
assert_files_not_equal_ignore_spacesprofile.file.bash (英语)确定两个文件不相等, 忽略空白行和空白更改文件断言
assert_binary_files_equalprofile.file.bash (英语)确定两个二进制文件是相等的文件断言
assert_binary_files_not_equalprofile.file.bash (英语)确定两个二进制文件不相等文件断言
assert_file_modeprofile.file.bash (英语)选择文件权限模式文件断言
assert_dir_existsprofile.file.bash (英语)确认目录存在目录和符号链接
assert_dir_not_existsprofile.file.bash (英语)确认目录不存在目录和符号链接
assert_dir_emptyprofile.file.bash (英语)确定目录为空目录和符号链接
assert_dir_not_emptyprofile.file.bash (英语)确定目录不是空的目录和符号链接
assert_dir_contains_stringprofile.file.bash (英语)确定目录在其文件中包含字符串搜索目录
assert_dir_contains_string_caseprofile.file.bash (英语)确认一个目录在其一个文件中包含字符串, 区分大小写搜索目录
assert_dir_not_contains_stringprofile.file.bash (英语)确定目录在其任何文件中不包含字符串搜索目录
assert_dir_not_contains_string_caseprofile.file.bash (英语)确认一个目录在其任何文件中都不包含字符串,对大小写敏感搜索目录
assert_dir_matchesprofile.file.bash (英语)确定目录的文件匹配正则表达式搜索目录
assert_dir_matches_caseprofile.file.bash (英语)确定目录文件匹配正则表达式, 区分大小写搜索目录
assert_dir_not_matchesprofile.file.bash (英语)确定目录文件与正则表达式不匹配搜索目录
assert_dir_not_matches_caseprofile.file.bash (英语)确定目录中没有任何文件匹配正则表达式, 区分大小写搜索目录
assert_dirs_equalprofile.file.bash (英语)确定两个目录是平等的目录和符号链接
assert_symlink_existsprofile.file.bash (英语)确定存在象征性联系目录和符号链接
assert_symlink_not_existsprofile.file.bash (英语)认定不存在象征性联系目录和符号链接
assert_git_repoprofile.git.bash (英语)确定目录是 git 仓库Git 断言
assert_git_not_repoprofile.git.bash (英语)确定目录不是 git 仓库Git 断言
assert_git_cleanprofile.git.bash (英语)确定 git 仓库是干净的Git 断言
assert_git_not_cleanprofile.git.bash (英语)确认 git 仓库不干净Git 断言
assert_git_file_trackedprofile.git.bash (英语)确认文件以 git 跟踪Git 断言
assert_git_file_not_trackedprofile.git.bash (英语)确定文件没有用 git 跟踪Git 断言
cleanup_register清理. bash在当前测试完成后注册运行的命令清理
cleanup_run清理. bash按倒序运行已注册命令。 呼叫从 teardown()清理
cleanup_registry_path清理. bash解析存储在清理沙盒
retry_run重试. bash运行一个命令直至它成功或达到约束重试
file_mktouch文件.bash 存档创建文件和任何缺少的父目录文件公用事业
file_trim文件.bash 存档删除文件的最后一行文件公用事业
file_read_env文件.bash 存档用来自 ./.env 范围中的文件文件公用事业
file_backup_path文件.bash 存档确定文件的备份位置文件备份
file_add_var文件.bash 存档在文件中添加一个可变任务, 首先支持文件文件备份
file_restore文件.bash 存档从备份中恢复一个文件 file_add_var文件备份
fixture_prepare_dir(原始内容存档于2018-09-21) (英语). petture.bash为固定创建空目录, 删除任何已存在的内容固定设备
fixture_export_codebase(原始内容存档于2018-09-21) (英语). petture.bash将代码库导出至最晚的目的地目录固定设备
fixture_create_dir(原始内容存档于2018-09-21) (英语). petture.bash从 STDIN 读取的归档创建文件树固定树
fixture_dump_dir(原始内容存档于2018-09-21) (英语). petture.bash打印目录为归档固定树
fixture_assert_dir(原始内容存档于2018-09-21) (英语). petture.bash确定目录持有从 STDIN 读取的归档文件树固定树
dataprovider_run数据提供者.bash运行在 TEST_CASES 数组平面阵列
dataprovider_run_cases数据提供者.bash运行函数所声明的大小写已宣布的案件
dataprovider_case数据提供者.bash宣布并管理一个案件已宣布的案件
dataprovider_matrix数据提供者.bash将数值列表扩展为笛卡尔产品矩阵
mock_setup模拟.bash设相取笑. 呼叫从 setup()设置函数
mock_create模拟.bash创建可跟踪的模拟程序设置函数
mock_command模拟.bash隐藏提供的命令设置函数
mock_set_output模拟.bash设置模拟器的输出设置函数
mock_set_status模拟.bash设置模拟器的退出状态设置函数
mock_set_side_effect模拟.bash设定模拟执行时要运行的 shell 代码设置函数
mock_set_strict模拟.bash拒绝模拟者的期望没有涵盖的呼叫严格性
mock_set_forward模拟.bash运行呼叫的真实命令 参数规格
mock_spec_add模拟.bash在模拟中添加参数规格参数规格
mock_spec_arg模拟.bash限制规格的一个参数位置参数规格
mock_spec_count模拟.bash选择规格接受的参数数参数规格
mock_spec_set_output模拟.bash设置一个规格响应的输出参数规格
mock_spec_set_status模拟.bash设置退出状态参数规格
mock_spec_set_side_effect模拟.bash设定 shell 代码为规格运行参数规格
mock_log_exclude模拟.bash从序列比较中排除命令调用日志
mock_log_print模拟.bash按顺序返回每个有记录的呼叫调用日志
mock_get_call_num模拟.bash返回模拟器被调用的次数占星函数
mock_get_call_args模拟.bash返回调用模拟的参数占星函数
mock_get_call_user模拟.bash返回调用模拟器的用户占星函数
mock_get_call_env模拟.bash从模拟调用返回环境变量值占星函数
mock_assert_call_args模拟.bash说明模拟的论据占星函数
mock_assert_calls模拟.bash确定每个被嘲笑的呼叫的顺序调用日志
mock_assert_no_calls模拟.bash宣称在被排除在外的命令之外没有被嘲弄的命令调用日志
mock_assert_called模拟.bash确认命令被称作调用日志
mock_assert_not_called模拟.bash表示未调用命令调用日志
mock_verify模拟.bash确信每一个期望都得到满足严格性
mock_sandbox_enable模拟.bash启用沙盒模式 。 允许列表的参数种子沙盒模式
mock_sandbox_allow模拟.bash允许命令运行为真实沙盒模式
mock_sandbox_disable模拟.bash恢复 PATH 启用模式时保存沙盒模式
mock_sandbox_enabled模拟.bash报告是否启用了沙盒模式沙盒模式
mock_sandbox_report模拟.bash打印已拒绝的命令和已逃脱的命令逃出来的是什么
mock_path_check模拟.bash警告时 PATH 更改于 mock_setup重写 PATH 时
steps_run步骤.bash运行 setup 或 assert 阶段 STEPS 数组步长跑
tui_runtu.bash运行名为 SCRIPT_FILE在STDIN上输入答案交互式脚本
tui_assert_promptstu.bash显示提示的出现顺序, 忽略大小写即时命令
tui_assert_prompts_casetu.bash显示提示的出现顺序, 区分大小写即时命令

捐款

见 CONTRIBUTING.md 用于本地开发设置,起伏和测试命令,以及释放程序.


此寄存器是使用 脚手架 项目模板

版本与发布记录

@drevops/bats-helpers 共发布 12 个版本,首次发布于 2023/03/20;过去 12 个月发布了 3 个版本。

版本发布日期距今
2.0.0latest2026/08/063 个月前
1.6.02026/02/069 个月前
1.5.22025/12/0511 个月前
1.5.12025/07/301.3 年前
1.5.02025/07/301.3 年前
1.4.22025/01/081.8 年前

关于 @drevops/bats-helpers 的常见问题

@drevops/bats-helpers 是什么?

BATS测试的助手和断言.

如何安装 @drevops/bats-helpers?

在项目目录运行 npm install @drevops/bats-helpers,或使用 pnpm add / yarn add / bun add。

@drevops/bats-helpers 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/drevops__bats-helpers 是否存在。

@drevops/bats-helpers 可以商用吗?

@drevops/bats-helpers 使用 GPL-3.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以 GPL-3.0 兼容许可开源,并附带专利与反锁定条款。仅内部使用不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@drevops/bats-helpers 的下载量有多少?

根据 npm 官方下载统计,@drevops/bats-helpers 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,509 次,日均约 84 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@drevops/bats-helpers 还在维护吗?

最新版本 2.0.0 发布于 2026/08/06(3 个月前);至今共发布 12 个版本,其中过去 12 个月发布了 3 个;首次发布于 2023/03/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。