问题描述
在 Go 项目中执行:
super-dev release readiness --verify-tests --json
工具会尝试调用 Python pytest 来做测试验证,而不是识别项目实际配置的 go test。这会导致 readiness 结果把 测试失败 归因到项目本身,即使项目的原生测试基线实际是通过的。
预期行为
对于 Go 项目:
--verify-tests 应优先识别并执行 Go 原生测试命令,例如:
-
如果项目配置已声明:
backend: go
testing_frameworks: [go-test]
则不应再退回到 pytest
-
如果当前版本尚不能识别,也至少应该:
- 明确输出“未识别到当前语言对应测试命令”
- 而不是错误地把 Python
pytest 结果当作项目测试失败
实际行为
在 backend-only 的 Go 项目里,执行:
super-dev release readiness --verify-tests --json
曾得到类似错误:
/Users/.../python3: No module named pytest
结果表现为 readiness 中的 Test Suite 检查失败,但实际上项目的原生测试命令:
是可以正常通过的。
项目上下文
项目配置特征:
platform: api
frontend: none
backend: go
ui_library: none
style_solution: none
testing_frameworks:
- go-test
项目真实测试基线:
影响
这会带来几个问题:
-
readiness 误报测试失败
- 实际是工具调用了错误测试框架
- 不是项目测试本身不通过
-
backend-only / Go 项目被错误降分
- 尤其在 release closure 阶段会被误导成“测试未通过”
-
用户难以判断是项目问题还是工具问题
- 因为
--verify-tests 的语义本应是“验证项目测试”
- 但实际变成了“尝试跑某个工具内部默认测试栈”
建议修复方向
建议支持以下至少一种:
-
按语言 / backend 自动识别测试命令
backend: go -> go test ./...
backend: python -> pytest
backend: node -> 根据 package scripts / configured test runner 选择
-
优先读取 testing_frameworks 配置
- 如果配置为
go-test,则直接使用 Go 测试命令
-
提供测试命令覆盖配置
test_command: go test ./...
- 在无法识别时优雅降级
- 报告为“未识别测试命令”
- 而不是默认回退到
pytest
附加说明
如果 --verify-tests 当前设计上就是偏向 Python / pytest,也建议在文档中明确说明适用范围,避免让 Go / backend-only 项目误用。
谢谢。
问题描述
在 Go 项目中执行:
工具会尝试调用 Python
pytest来做测试验证,而不是识别项目实际配置的go test。这会导致 readiness 结果把 测试失败 归因到项目本身,即使项目的原生测试基线实际是通过的。预期行为
对于 Go 项目:
--verify-tests应优先识别并执行 Go 原生测试命令,例如:go test ./...如果项目配置已声明:
backend: gotesting_frameworks: [go-test]则不应再退回到
pytest如果当前版本尚不能识别,也至少应该:
pytest结果当作项目测试失败实际行为
在 backend-only 的 Go 项目里,执行:
曾得到类似错误:
结果表现为 readiness 中的
Test Suite检查失败,但实际上项目的原生测试命令:go test ./...是可以正常通过的。
项目上下文
项目配置特征:
项目真实测试基线:
go test ./...影响
这会带来几个问题:
readiness 误报测试失败
backend-only / Go 项目被错误降分
用户难以判断是项目问题还是工具问题
--verify-tests的语义本应是“验证项目测试”建议修复方向
建议支持以下至少一种:
按语言 / backend 自动识别测试命令
backend: go->go test ./...backend: python->pytestbackend: node-> 根据 package scripts / configured test runner 选择优先读取
testing_frameworks配置go-test,则直接使用 Go 测试命令提供测试命令覆盖配置
pytest附加说明
如果
--verify-tests当前设计上就是偏向 Python / pytest,也建议在文档中明确说明适用范围,避免让 Go / backend-only 项目误用。谢谢。