用途
run-tests 用于运行采集客户端的单元测试并汇报结果。它接受一个可选的客户端名称参数,既可以运行全部客户端的测试,也可以只运行某一个客户端的测试。
主要能力
- 运行全部客户端测试:
/run-tests - 只运行 Modbus 客户端测试:
/run-tests modbus - 只运行 OPC UA 客户端测试:
/run-tests opcua - 只运行 MQTT 客户端测试:
/run-tests mqtt
使用方式
执行时按以下步骤进行:
- 运行
uv sync以确保依赖已安装。 - 确定测试范围:
- 如果提供了客户端名称,运行
uv run pytest clients/{name}/tests/ -v - 如果没有提供名称,运行
uv run pytest clients/ -v
- 如果提供了客户端名称,运行
- 汇报结果:
- 通过、失败和错误的数量
- 对于失败项:测试名称、文件:行号以及失败的断言
- 不要直接输出原始 pytest 输出,而是进行汇总
测试必须覆盖的内容
根据 Definition of Done(.claude/rules/definition-of-done.md):
- 所有标签名都存在于
contracts/tag_database.csv - 时间戳为带时区的 UTC
shared.validation.validate_reading()返回无违规- 协议客户端(Modbus / OPC UA / MQTT)被 mock,无需真实服务器
- DBWriter 被 mock 或指向测试数据库,绝不使用生产数据
适用场景
适用于在开发或验证采集客户端(Modbus、OPC UA、MQTT)时,快速运行单元测试并获取简洁的结果汇总。
限制
资料中未提供关于收费、价格、平台支持范围或具体性能效果的信息。