mcpField
S
sync-test-cases-with-tms

sync-test-cases-with-tms

github.com/testomatio测试与质量1697 次安装6 天前更新
代码仓库

关于 sync-test-cases-with-tms

用于在本地项目与 Testomat.io 之间同步 Markdown 测试用例的技能。它指导拉取套件、筛选和验证文件,并通过 `check-tests` CLI 推送指定用例。

主要功能

  1. 01将 Testomat.io 用例拉取为 Markdown
  2. 02将 Markdown 用例推送到 Testomat.io
  3. 03上传前验证测试块
  4. 04仅筛选测试用例文件上传
  5. 05选择拉取用例的存储位置

适用场景

  1. 01下载套件以便本地编辑
  2. 02上传指定测试用例
  3. 03刷新项目缓存中的用例

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/testomatio/skills --skill sync-test-cases-with-tms

安装后在 Claude Code 中输入/sync-test-cases-with-tms确认已加载。

附带文件references/TESTOMATIO_CLI.md

详细介绍

与 TMS 同步测试用例

在本地项目与 Testomat.io 之间同步 Markdown 测试用例(*.test.md)。

在用户希望执行以下操作时使用:

  • 从 Testomat.io 拉取/导出/下载测试到本地 Markdown 文件。
  • 将本地 Markdown 测试推送/上传/导入到 Testomat.io。
  • 批量编辑:拉取用例 -> 在本地编辑 -> 推回 TMS。

设置

  • 检查 TESTOMATIO 令牌:依次检查技能输入 -> 项目根目录中的 .env -> 询问用户。
  • 将令牌保存到 .env:TESTOMATIO=tstmt_xxxxx。
  • 如果用户没有密钥:在 Testomat.io 中通过 Settings → Project → Project Reporting API key 获取(https://app.testomat.io/projects/<project-id>/settings/project)。

运行 CLI

  • 通过 npx 运行 check-tests。不要将其安装为项目依赖项。
  • 本次会话中第一次调用 check-tests 时必须使用 npx check-tests@latest …,以解析最新版本。同一会话中之后的调用使用普通的 npx check-tests …。
  • 仅使用本文档、TESTOMATIO_CLI.md 中记录的选项,或 npx check-tests --help 列出的选项。不要自行编造选项(例如 --pattern、--force)。

拉取

从 Testomat.io 下载测试场景,并保存为本地 Markdown 文件。

目录选择——如果提供了 testDir 输入,或用户传入 -d <path>,则使用该路径。否则:

  • 工作区为空或仅用于手动测试:拉取到根目录。
  • 端到端测试项目:拉取到 test-cases 目录。
  • 其他情况:拉取到 .testeiya/test-cases(确保 .testeiya/ 存在且已加入 Git 忽略)。

缓存文件夹规则:

  • 默认拉取目标是已被 Git 忽略的缓存目录 .testeiya/test-cases/。如果项目 .gitignore 中尚无 .testeiya/,则将其添加进去。
  • 拉取的用例绝不能放入受 Git 跟踪的文件夹(test-cases/ 等)——这会污染仓库。
  • 文件被 Git 忽略并不妨碍编辑或将其推回。
  • 如果仓库已经将 *.test.md 文件保存在受 Git 跟踪的文件夹中,则不要拉取——直接在原处处理,或传入 -d <that folder> 以原地刷新。
  • 这与 scan-automation-project 的行为一致:在手动测试仓库中运行时,它会将代码拉取到 .testeiya/code/。
npx check-tests pull -d .testeiya/test-cases
  • 仅拉取特定套件(用户指定套件名称或提供套件 ID):npx check-tests pull --suite-ids "@S12345678,@S87654321"。
  • 更多拉取选项:TESTOMATIO_CLI.md。

推送

将本地 Markdown 测试上传到 Testomat.io。

推送前的文件筛选——仅推送测试用例文件,绝不推送项目文档或需求:

  • 包含匹配 *.test.md 的文件,或包含有效 `` 块的 Markdown 文件。
  • 忽略所有其他 Markdown 文件(README.md、CHANGELOG.md、文档)。
  • 如果测试用例与其他文件放在一起,先将测试文件复制或移动到 .testeiya/test-cases/。

推送前验证:

  1. 至少存在一个 *.test.md 文件。
  2. 每个文件都包含有效的测试块:

# ... (test case title)

... (test case description)
# Specific files (preferred when known)
npx check-tests push --files login.test.md checkout.test.md

# Testeiya cache folder
npx check-tests push -d .testeiya/test-cases
  • 已知要推送的文件时(例如刚由 qa-write-test-cases / improve-test-cases 生成),通过 --files(别名 -f)显式传入这些文件。如果不使用 --files,CLI 会回退到默认 glob **/*.test.md,这可能会选中无关文件。
  • 为 glob 模式加引号。路径相对于 --dir 解析。
  • .testeiya 或 test-cases 目录存在时,使用 -d。
  • 仅推送测试用例目录(例如 .testeiya/test-cases,而非 .testeiya/)。
  • 更多推送选项和示例:TESTOMATIO_CLI.md。

摘要输出

同步完成后,打印一段简短的日志式摘要:

Sync Complete:
- Action: pull/push
- Directory: <path>
- Tests synced: 15
- Status: Success

评论

支持 Markdown