使用输出中继让测试更稳健和灵活
概述
初次接触 Output Relay? 如果你还不熟悉 Output Relay 的概念,建议先阅读《理解 Output Relay》,其中包含可视化图解和核心术语说明。
本指南聚焦于 Output Relay 的实际应用和最佳实践。
对于所有新建且包含 Output Relay 的 Pipeline,推荐使用 kind: rule/v1.3。rule/v1.2 继续兼容历史 Pipeline,但不具备 case 级并行执行能力。
输出中继的典型用例
一个典型的用例是多个API请求依赖的测试。例如:
- 用例A:为用户获取系统访问令牌。
- 用例B:使用用例A中获得的令牌调用“获取用户列表”服务,并从列表中获取用户ID。
- 用例C:使用用例A中的令牌和用例B中的用户ID调用“用户详情服务”以获取用户的位置信息。
在这个场景中,用例B依赖于用例A的输出,而用例C则依赖于用例A和用例B的输出。输出中继帮助保持每个测试用例的独立性,同时允许实现这些依赖关系,避免编写复杂的代码逻辑。
关键概念
关于 Output Relay 的完整概念说明,包括输出用例(Output Case)、输入用例(Input Case)、Relay 变量以及数据流向图解,请参阅《理解 Output Relay》。
如何使用输出中继
编写输出用例和输入用例
要使用输出中继,首先必须定义输出用例和输入用例。有关如何编写输出用例和输入用例的更多详细信息,请参考《通过中继管理测试用例》。
配置包含输出用例和输入用例的测试管道
编写完输出用例和输入用例后,下一步是将它们正确排列在同一个测试管道中。有关如何使用输出中继配置管道的详细步骤,请参考《测试管道编写指南及示例》。
执行逻辑与标准管道
启用了输出中继的测试管道与标准管道在执行逻辑上的关键区别,是测试用例之间存在显式的数据依赖关系。在 rule/v1.3 中,没有显式依赖的同层 case 可以并行调度;但只要某个 case 依赖 relay 输出,平台就要求提供 relay 的测试脚本先稳定完成,再启动消费 relay 的测试脚本。因此,Output Relay 不是“强制全部串行”,而是“在并行能力下仍保持数据依赖正确”。
常见的错误配置与系统响应
一些常见的错误配置示例如下:
- 错误配置示例1:用例B设置为只有在用例A失败时才执行。系统将拒绝此配置。
- 错误配置示例2:用例B依赖于用例A的输出,但用例A未声明任何输出。在这种情况下,系统不会拒绝配置,但在管道详情页面上,用户不会看到任何标记为“中继输出用例”的测试用例。此提示会提醒用户检查依赖设置,确保其符合预期。
常见问题及最佳实践
输出中继的最佳使用场景
输出中继功能最适合以下场景:
- 多步骤功能测试,其中每个步骤都依赖于前一个步骤的输出。
- API调用链,使用中继数据减少冗余。
- 集成测试,需要重复使用前一步骤中的凭据或其他动态数据。
常见错误及故障排除方法
以下是一些常见错误及其排除建议:
- 未声明输出变量:如果输出用例未正确声明其输出变量,系统将使用输入用例的初始值。如果测试结果不符合预期,请检查依赖配置并确保正确声明了输出和输入变量。
- 不合逻辑的测试配置:如果输入用例设置为在输出用例失败时执行,系统将拒绝此配置。此情况可能发生在用户错误设置执行顺序时。请调整管道逻辑,确保测试用例执行顺序符合预期的依赖关系。
编写高效的中继依赖测试用例
还有疑问?
我们的团队随时为您服务。欢迎联系我们,我们会尽快回复。