让这项工作有问题。似乎对其他人来说这是一个问题,我想我已经遵循了所有的建议。
我已经设置了一个精简的导轨3 .0.14应用程序,只包括黄瓜导轨& factory_girl_rails但仍然没有去。我希望我做的事情很傻!
运行下面的cuc测试会产生以下结果:
Scenario: test factory-girl # features/users.feature:3
Given the following user exists: # features/users.feature:4
| name | email |
| Brandon | brandon@example.com |
Undefined step: "the following user exists:" (Cucumber::Undefined)
用户工厂已经创建,我相信,有一些' pp'输出。 真的很感激有任何帮助来解决这个问题。
罗斯
设置
env.rb:snippet
require 'pp'
require 'cucumber/rails'
require 'factory_girl_rails'
require 'factory_girl/step_definitions'
特征/支持/ factories.rb:
FactoryGirl.define do
factory :user do
name 'Adam Advertiser'
email 'a@b.com'still
end
end
pp FactoryGirl.create(:user)
Cucumber features / user.feature:
Feature: a
Scenario: test factory-girl
Given the following user exists:
| name | email |
| Brandon | brandon@example.com |
答案 0 :(得分:1)
这里的问题是你必须在要求'factory_girl / step_definitions'之前得到你的工厂,因为step_definitions中有元编程需要知道你的工厂。您可以明确要求env.rb中的factories.rb,但这最终会产生重复的定义错误,因为黄瓜将重新需要factory.rb。
你需要从env.rb中删除对step_definitions的要求 - 这会使它太早发生 - 并将它放在factories.rb的底部,否则创建一个首先需要工厂的包装器(需要驻留在黄瓜不会自动要求的地方,然后是step_definitions。