两类网络服务器约定
无需先创建应用,即可测试现代 The Things Stack、ChirpStack 签名和旧式 Decoder、Encoder 函数。
这是测试框架,不是 decoder 目录。它用你的 payload 运行你的 codec,指出具体失败的 fixture,并生成可与设备集成代码一起保存的测试。
运行真实代码
从示例开始,或粘贴厂商 codec。每个向量都可测试不同操作、fPort、编码、变量、downlink 输入和预期结果。
沙箱只提供 formatter 输入。网络、存储、import 和页面访问均不可用。
运行一个向量或整套测试,查看输出、契约问题、字节读取和预期差异。
从厂商 PDF 到回归测试
翻译厂商规范、迁移网络服务器和检查后续固件变更时,都能复用同一套 fixture。
使用设备配置中的原始 JavaScript,包括辅助函数和查找表。
采集代表性的 uplink 与 downlink,并声明完整的预期 JSON。
把 fixture 与 Vitest 文件放在集成代码旁,避免固件或 codec 变更悄悄改变字段含义。
来自现场实践
Wavect 为城市级 LoRaWAN 平台中的多厂商硬件编写过 uplink decoder 和 downlink encoder。代价高的错误往往是字节、端口、固件版本和输出契约之间的隐性分歧。
无需先创建应用,即可测试现代 The Things Stack、ChirpStack 签名和旧式 Decoder、Encoder 函数。
完整输出与声明值不一致时,fixture 会明确失败。
导出可移植向量、可运行测试或 Markdown 报告,用于代码审查和交接。
明确边界