我一直在查看流代码,以寻找一种更直接地控制 93k 测试节点上的通过/失败分支的方法。我们可以在 origen-testers 的 93k 输出端添加额外的钩子,但是我们冒着打破平台不可知论的风险。
相反,我相信如果我们能够更直接地影响 ATP 数据结构的构建方式,那么已经存在的测试器输出驱动程序将正确处理它。ATP 已经支持 :on_pass 和 :on_fail 键,但目前似乎只支持将 bin 放入这些块中。
我想做的是能够编写这样的流程:
func :test1, param1_key: param1_value, on_pass: do
func :test2, param2_key: param2_value
end, on_fail: do
func :test3, param3_key: param3_value
bin 10
end
我意识到我可以使用流控制变量来做到这一点,但是如果有很多测试需要这种类型的结构,就会导致大量的测试 ID 和流控制变量。能够直接说出通过与失败路径中的测试将大大简化流程。它也自然导致嵌套的能力,例如,如果上面的 test2 需要通过和失败路径。
我还在学习 ruby,但我意识到上面的代码会引发编译错误。我相信我们可以通过在流程构建器中进行一些递归并使用 lambda 来完成这样的事情:
func :test1, param1_key: param1_value, on_pass: ->{
func :test2, param2_key: param2_value
}, on_fail: ->{
func :test3, param3_key: param3_value
bin 10
}
是否已经有一种方法可以更直接地控制或影响内部 ATP 流数据结构?如果没有,我们可以在增强请求列表中添加类似于我上面的内容吗?