The*_*ppe 16 ruby tdd rspec ruby-on-rails factory-bot
我正在按照本教程开始使用工厂女孩的轨道上的TDD,rspec,我遇到了这个问题我无法理解.
这是我的"工厂".rb(events.rb)
require 'faker'
FactoryGirl.define do
factory :event do
name "HIGH"
genre "house, techno, idb"
venue_name "Westbourne Studios"
venue_address "4-6 Chamberlayne Road"
venue_postcode "NW103JD"
begin_time "10pm"
end_time "2am"
user_id 2
description "A Super massive party with loads of everything you would want around."
status true
venue_id nil
end
end
Run Code Online (Sandbox Code Playgroud)
这是event_spec.rb:
require 'spec_helper'
require 'factory_girl_rails'
describe Event do
it "has a valid factory" do
Factory.create(:event).should be_valid
end
it "is invalid without a name"
it "is invalid without a genre"
it "is invalid without a venue_name"
it "is invalid without a venue_address"
it "is invalid without a venue_postcode"
...
end
Run Code Online (Sandbox Code Playgroud)
我已经设置了模型,迁移等等.当我运行"rspec spec/models/event_spec.rb"时,我收到以下错误:
Failures:
1) Event has a valid factory
Failure/Error: Factory.create(:event).should be_valid
NameError:
uninitialized constant Factory
# ./spec/models/event_spec.rb:7:in `block (2 levels) in <top (required)>'
Finished in 0.1682 seconds
13 examples, 1 failure, 12 pending
Failed examples:
rspec ./spec/models/event_spec.rb:6 # Event has a valid factory
Randomized with seed 64582
Run Code Online (Sandbox Code Playgroud)
ben*_*ben 57
尝试以这种方式使用它:
FactoryGirl.create(:event).should be_valid
Run Code Online (Sandbox Code Playgroud)
我想,我记得,在旧版本的宝石中它只是"工厂".如果您查看Factory Girl 最近的"入门"指南,则只能使用"FactoryGirl"进行调用.
如果您使用内容创建文件规范/ support/factory_girl.rb:
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地使用:
create(:event)
build(:book)
Run Code Online (Sandbox Code Playgroud)
代替:
FactogyGirl.create(:event)
FactogyGirl.build(:book)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13824 次 |
| 最近记录: |