我正在尝试使用灯具和MiniTest开始(Rails)测试。 该应用程序正在不断发展,因此以后可能会在模型中集成其他属性。 有没有办法声明“默认”属性或所有其他灯具中使用的基本灯具类型?
例如:
base_user:
name: testy testicle
mail: some_mail@example.com
gender: male
user1:
avatar: some_avatar #add
admin: false #add
user2:
admin:true #add
gender: female #overwrite
所以 user1 & user2 共享 base_user 的属性? 也许甚至可以共享属性并在必要时覆盖?
我想声明基本属性以传递验证等,并且只想在其他灯具中声明特殊属性。 当新属性变得必要时,我可以将它们添加到base_fixture,而不是更新模型的所有灯具..
答案 0 :(得分:1)
您可以使用YAMLs Anchors and References工具。这看起来像这样:
base_user: &BASE_USER # <- Declare an anchor named BASE_USER
name: # etc.
user1:
<<: *BASE_USER # <- Reference the anchor, bringing all the attributes of base user into user1
avatar: # etc.