跳转到内容

CLI:testcase

先读 CLI 总览:会话/目录、退出约定、角色边界、合成占位 ID 和执行授权规则在其中统一定义。本页逐叶补充例外;以下命令不是按顺序执行的脚本。

前提与权限。 平台登录、已选择项目,有效项目角色为 Owner/Admin/Developer。Operator 不可用,包括只读形式。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase create [OPTIONS] --expected <EXPECTED> <TARGET> <NAME>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
args: --argsString, 1, Set否;条件必填见行为; {}—原始帮助:Arguments to send, as a JSON object
expected: --expectedString, 1, Set是; Clap 无显式默认—原始帮助:Expected output, as JSON
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——
kind: --kindString, 1, Set否;条件必填见行为; script—原始帮助:Target kind: script | workflow
match: --matchString, 1, Set否;条件必填见行为; subset—原始帮助:Match mode: subset (expected keys must appear) or exact
name: <NAME> (#2)String, 1, Set是; Clap 无显式默认—原始帮助:A name for this case, unique per target
target: <TARGET> (#1)String, 1, Set是; Clap 无显式默认—原始帮助:Target name (folder-qualified)

Clap 参数组(literal metadata):{"arguments":["args","expected","json","kind","match","name","target"],"id":"Create","multiple":true,"required":false}

输入、行为与副作用。 保存 target/name/args/expected 与 subset/exact 比较。—args 须对象;expected 是 JSON,不是文件路径。启用用例会阻挡未来 publish apply 并执行在线目标,非离线假资源。保存本身不立即运行。

实际输出与退出。 文本: created test case <name> (UUID);—json 打印创建行。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase create demo_echo demo_ok --expected '{"ok":true}' --json

失败处理、验证与清理。 JSON/match 错误、用例重名或目标无效会失败。保存 UUID 并 show,明确允许后再 run。清理用 testcase delete <id>;disable 保留数据但不再阻挡。

前提与权限。 平台登录、已选择项目,有效项目角色为 Owner/Admin/Developer。Operator 不可用,包括只读形式。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase delete [OPTIONS] <ID>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
id: <ID> (#1)String, 1, Set是; Clap 无显式默认——
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——

Clap 参数组(literal metadata):{"arguments":["id","json"],"id":"Delete","multiple":true,"required":false}

输入、行为与副作用。 删除一个保存用例及未来发布门槛,不删除目标/执行历史。

实际输出与退出。 文本: deleted test case <id>;—json 输出服务端响应。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase delete 00000000-0000-4000-8000-000000000001

失败处理、验证与清理。 保留 show 输出回退;ID 不存在失败。list 核查;用原 args/expected/match 重建并恢复启用状态(UUID 会变)。

前提与权限。 平台登录、已选择项目,有效项目角色为 Owner/Admin/Developer。Operator 不可用,包括只读形式。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase disable [OPTIONS] <ID>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
id: <ID> (#1)String, 1, Set是; Clap 无显式默认——
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——

Clap 参数组(literal metadata):{"arguments":["id","json"],"id":"Disable","multiple":true,"required":false}

输入、行为与副作用。 禁用此保存用例的发布回归门槛。不运行,不移除 expected/args。

实际输出与退出。 文本: disabled test case <id>;—json 返回更新行。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase disable 00000000-0000-4000-8000-000000000001

失败处理、验证与清理。 UUID 不存在会失败。testcase show 核查;用 enable 反转。禁用门槛可放过坏发布,应记录原因。

前提与权限。 平台登录、已选择项目,有效项目角色为 Owner/Admin/Developer。Operator 不可用,包括只读形式。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase enable [OPTIONS] <ID>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
id: <ID> (#1)String, 1, Set是; Clap 无显式默认——
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——

Clap 参数组(literal metadata):{"arguments":["id","json"],"id":"Enable","multiple":true,"required":false}

输入、行为与副作用。 启用此保存用例的发布回归门槛。不运行,不移除 expected/args。

实际输出与退出。 文本: enabled test case <id>;—json 返回更新行。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase enable 00000000-0000-4000-8000-000000000001

失败处理、验证与清理。 UUID 不存在会失败。testcase show 核查;用 disable 反转。未来发布会执行在线目标,应先审查副作用。

前提与权限。 平台登录、已选择项目,并且是该项目成员(包括 Operator)。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase list [OPTIONS] <TARGET>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——
kind: --kindString, 1, Set否;条件必填见行为; script—原始帮助:Target kind: script | workflow
target: <TARGET> (#1)String, 1, Set是; Clap 无显式默认—原始帮助:Target name (folder-qualified, e.g. lab/ingress)

Clap 参数组(literal metadata):{"arguments":["json","kind","target"],"id":"List","multiple":true,"required":false}

输入、行为与副作用。 列某个限定脚本/工作流目标的已保存回归用例;—kind 默认 script。

实际输出与退出。 文本含数量、on/off、名称、UUID 和 match;—json 为数组。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase list demo_echo --json

失败处理、验证与清理。 这些读取不执行目标,也不验证当前输出。用例不存在/kind 无效会失败。无远程变更;保存的 args/输出可能敏感。

前提与权限。 平台登录、已选择项目,有效项目角色为 Owner/Admin/Developer。Operator 不可用,包括只读形式。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase run [OPTIONS] <ID>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
id: <ID> (#1)String, 1, Set是; Clap 无显式默认——
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——

Clap 参数组(literal metadata):{"arguments":["id","json"],"id":"Run","multiple":true,"required":false}

输入、行为与副作用。 立即针对在线草稿目标和真实资源跑用例;不是 script test/endpoint test。

实际输出与退出。 文本为 PASS/FAIL/ERROR/SKIPPED 及不匹配路径;—json 返回 outcome。仅 passed 退出 0;skipped/failed/errored/其他均 1。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase run 00000000-0000-4000-8000-000000000001 --json

失败处理、验证与清理。 改 expected 前区分不匹配与运行错误。重跑可重复业务写入,无自动撤销。使用隔离资源夹具,明确授权后清理其数据。

前提与权限。 平台登录、已选择项目,并且是该项目成员(包括 Operator)。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase show [OPTIONS] <ID>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
id: <ID> (#1)String, 1, Set是; Clap 无显式默认——
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——

Clap 参数组(literal metadata):{"arguments":["id","json"],"id":"Show","multiple":true,"required":false}

输入、行为与副作用。 按 UUID 读已存回归用例,包括准确 args 和 expected。

实际输出与退出。 文本含 name/target/enabled/match/args/expected;—json 为对象。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase show 00000000-0000-4000-8000-000000000001 --json

失败处理、验证与清理。 这些读取不执行目标,也不验证当前输出。用例不存在/kind 无效会失败。无远程变更;保存的 args/输出可能敏感。

前提与权限。 平台登录、已选择项目,有效项目角色为 Owner/Admin/Developer。Operator 不可用,包括只读形式。 以下合成名称仅用于隔离演示项目;标识符请替换成该项目 list/create 返回的值。

Usage: viat testcase update [OPTIONS] <ID>

命令别名: 无。

参数 ID / 完整拼写类型、消费值数量、action必填 / 默认允许值冲突、别名、解析与原始 Clap 帮助
args: --argsString, 1, Set否;条件必填见行为; Clap 无显式默认—原始帮助:New arguments, as a JSON object
expected: --expectedString, 1, Set否;条件必填见行为; Clap 无显式默认—原始帮助:New expected output, as JSON
help: --help / -hString, 0, Help否;条件必填见行为; Clap 无显式默认—原始帮助:Print help
id: <ID> (#1)String, 1, Set是; Clap 无显式默认——
json: --jsonbool, 0, SetTrue否;条件必填见行为; false——
match: --matchString, 1, Set否;条件必填见行为; Clap 无显式默认—原始帮助:New match mode: subset | exact
name: --nameString, 1, Set否;条件必填见行为; Clap 无显式默认—原始帮助:New name (unique per target)

Clap 参数组(literal metadata):{"arguments":["args","expected","id","json","match","name"],"id":"Update","multiple":true,"required":false}

输入、行为与副作用。 部分 PUT 只发传入 —name/—args/—expected/—match,至少一项。不改目标绑定、不执行。

实际输出与退出。 文本: updated test case <id>;—json 返回更新对象。 除本节例外外,正常完成为 0,参数/文件/HTTP/运行错误为非零(解析错误通常 2,运行错误通常 1)。

合成调用示例(只校验语法,不执行)。

终端窗口
viat testcase update 00000000-0000-4000-8000-000000000001 --expected '{"ok":true}'

失败处理、验证与清理。 JSON/match/无选项会失败;保存旧 expected/args,避免误改削弱门槛。show 核查;再 update 旧值回退。

语法来自固定 Clap 合同与 main.rs;行为/权限核对以下源文件,路径相对产品仓库根。

  • crates/viat-cli/src/commands/test_case.rs
  • crates/viat-api/src/handlers/test_cases.rs