B S*_*ven 11 ruby rspec initialization factory-bot
看似简单,但无法弄清楚如何使其工作.
在model.rb中:
def Model
attr_accessor :width,
:height
def initialize params
@width = params[:width]
@height = params[:height]
...
Run Code Online (Sandbox Code Playgroud)
在工厂文件中models.rb:
FactoryGirl.define do
factory :model do
height 5
width 7
end
end
Run Code Online (Sandbox Code Playgroud)
在工厂方法中设置属性会引发错误 wrong number of arguments (0 for 1)
在没有Rails的情况下使用Ruby 1.9.3,使用Factory.build.FactoryGirl 4.1.
编辑:更多信息:
使用RSpec: let(:model) { FactoryGirl.build :model }
Zac*_*emp 31
这适用于你的班级:
FactoryGirl.define do
factory :model do
skip_create
width 5
height 9
initialize_with { new(attributes) }
end
end
Run Code Online (Sandbox Code Playgroud)
- skip_create绕过save!通常在新对象上调用的默认操作.
- 该attributes方法生成一个可以传递给new使用的哈希initialize_with.