在这个instructional video中,当在子流中定义测试时,我看到附加到测试名称的字符串。这是强制性的吗?我的团队了解此功能的原因但仍未被喜爱。也许可以选择只执行严格的审计,如果发生冲突则不创建子流程?
答案 0 :(得分:1)
这些字符串的目的是保证当Origen生成的流模块与其他可能来自Origen的测试一起插入顶级测试程序流时没有命名冲突。
如果您想关闭该功能,那么您应该能够,并且此API应该可以正常工作:
Flow.create unique_ids: false do
end
然而,似乎有一个错误,这没有任何作用,我在这里打开了一个问题:https://github.com/Origen-SDK/origen_testers/issues/49
在修复过程中,我认为我们应该为API添加更多功能,这就是建议:
unique_ids: :signature # Append a calculated signature (default, current behavior)
unique_ids: false # Append no unique ID
unique_ids: nil # Append no unique ID
unique_ids: :flow_name # Append the current top-level flow name
unique_ids: :flowname # Append the current top-level flow name
unique_ids: :blah # Any other string or symbol value will be appended directly
unique_ids: "blah" # Any other string or symbol value will be appended directly
除了提供per-flow API控件之外,还可以在接口级别设置它,因此它可以应用于所有流程,或通过逻辑启用,例如:
# lib/my_interface.rb
def startup(options = {})
self.unique_ids = :flowname
end
赋予:unique_ids
的任何Flow.create
属性都将覆盖界面上设置的值。
答案 1 :(得分:1)
我之前在应用程序级别使用方法重新定义进行了攻击:
# Some .rb file in your application
require "#{Origen.app(:origen_testers).root}/lib/origen_testers/flow"
module OrigenTesters
module Flow
def sig
nil
end
alias_method :signature, :sig
end
end