我正在使用Factory Girl帮助创建测试记录。我遇到的问题是,表中的字段名为' alias',这是一个保留的ruby关键字。这就是我想要做的事情:
factory :time_zone do
id 4
name "Eastern"
abbreviation "EST"
utc "-5"
alias "America/New_York"
end
运行测试时出错。
当我尝试使用self.alias" America / New_York"时,这是我得到的错误。
Failure/Error: FactoryGirl.create(:time_zone, id: 4 , name:"Eastern" , utc:"-5") NoMethodError: undefined method `alias=' for #<TimeZone id: 4, name: "Eastern", abbreviation: "EST", utc: -5>
注意:self.alias可以在我的本地计算机上运行,但是使用jenkins服务进行监控测试时测试失败。
我如何使这项工作?
由于
答案 0 :(得分:2)
正如其他人所评论的那样,你为这个专栏使用不同的名字会更容易,但是如果你想坚持下去,你可以使用add_attribute
使factory_girl工作。你的工厂看起来像:
factory :time_zone do
id 4
name "Eastern"
abbreviation "EST"
utc "-5"
add_attribute :alias, "America/New_York"
end