【问题标题】:How to use named Machinist blueprints in Cucumber with Pickle如何在 Cucumber with Pickle 中使用命名的机械师蓝图
【发布时间】:2010-07-19 02:03:50
【问题描述】:

我在pickle 的自述文件中注意到了这个小花絮:

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

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

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。

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

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

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

【问题讨论】:

  • 我不确定这是否可行,但您尝试过吗?我意识到它并没有真正解决使用命名蓝图的问题,但它比编写自定义步骤更好。 Given a user exists with first_name: "Test", last_name: "Man", roles: ["super-admin", "moderator"]

标签: ruby testing cucumber pickle machinist


【解决方案1】:

不确定如何在 Pickle 中完成此操作,使用非常相似的 gem Cucumber Factory 您可以像这样创建超级管理员用户:

Given there is a user (super admin) with the first name "Test" and the last name "Man"

【讨论】:

  • 谢谢 Henning,我不知道这颗宝石的存在。下次我开始另一个项目时,我必须试一试。
【解决方案2】:

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

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

这一行将调用相同的 pickle 步骤,但 Pickle 足够智能,可以将文本“超级管理员用户”映射到 User.blueprint(:super_admin) 工厂。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    相关资源
    最近更新 更多