如何在黄瓜与泡菜中使用命名的机械师蓝图

时间:2010-07-19 02:03:51

标签: ruby testing cucumber pickle machinist

我注意到pickle的自述文件中的这个小小的一点:

(最新版本的pickle支持multiple blueprints,对于早期版本的机械师使用pickle< = 0.1.10)

我正在遇到我想创建具有管理员权限的用户的情况。我有两个机械师蓝图:

User.blueprint do
  first_name
  last_name
  email
  password { "password" }
  password_confirmation { "password" }
  state "active"
end

User.blueprint(:super_admin) do
  roles { ["super-admin", "moderator"] }
end

我不知道为自己创建一个自定义步骤来创建超级管理员用户,我想知道是否有办法使用Pickle。

使用以下将使用正常的pickle步骤并参考基本机械师用户蓝图:

Given a user exists with first_name: "Test", last_name: "Man"

问题是,我怎么说我想要一个超级管理员用户?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

事实证明,在Pickle中创建命名的Machinist蓝图非常简单:

Given a super admin user exists with first_name: "Test", last_name: "Man"

这一行将调用相同的pickle步骤,但Pickle足够聪明,可以将文本“super admin user”映射到User.blueprint(:super_admin)工厂。

这是一个非常明显的方法,我真的应该在问之前尝试过。 Pickle的文档没有明确提到在任何地方执行此操作的语法,只是可以这样做。所以现在我们知道了。