在某些情况下,我的很多代码都具有相同的文本行(我们正在使用 Calabash 进行 iOS 自动化,如果这能让您有想法的话)。
例如:“所有标签标记为:'#{name}'”在特定类中使用了 8 次。
我希望能够有一个使用该文本的常量,但是如果我将它放在类的顶部,当然还没有设置变量“name”。如果没有定义一个接受参数并返回一个字符串的方法,有没有办法做一些本质上像这样的事情,它可以存在于类的顶部,但在使用之前不会被评估?:
class ClassName
extend Calabash::Cucumber::Operations
@NAME_CONSTANT = "all label marked:'#{name}'"
def self.method_name(name)
query("#{@NAME_CONSTANT} sibling label marked:'anotherLabel' isHidden:0")
end
end
Run Code Online (Sandbox Code Playgroud)
如果你使用我提到的语法,你会得到这个错误:未定义的局部变量或 ClassName 的方法`name'