Ruby on rails 在rspec视图规范中使用assigns()
在给出示例之后,我尝试对我的一个视图规范进行建模 从我的gem文件:Ruby on rails 在rspec视图规范中使用assigns(),ruby-on-rails,rspec,Ruby On Rails,Rspec,在给出示例之后,我尝试对我的一个视图规范进行建模 从我的gem文件:gem'rspec rails',“~>3.0” # /app/spec/views/teams/index.html.haml_spec.rb RSpec.describe "teams/index", type: :view do before (:each) do assigns(:teams, [ FactoryGirl.create(:team, name: "Team 1"),
gem'rspec rails',“~>3.0”
# /app/spec/views/teams/index.html.haml_spec.rb
RSpec.describe "teams/index", type: :view do
before (:each) do
assigns(:teams, [
FactoryGirl.create(:team, name: "Team 1"),
FactoryGirl.create(:team, name: "Team 2")
])
end
it "renders a list of teams" do
render
expect(rendered).to match /Team 1/
expect(rendered).to match /Team 2/
end
end
此规范不符合以下要求:
1) teams/index renders a list of teams
Failure/Error: assigns(:teams, [
ArgumentError:
wrong number of arguments (2 for 0..1)
我不理解失败。。。我正在做医生让我做的事。我遗漏了什么?您应该使用分配,而不是分配:
before (:each) do
assign(:teams, [
FactoryGirl.create(:team, name: "Team 1"),
FactoryGirl.create(:team, name: "Team 2")
])
end
您应该使用分配代替分配:
before (:each) do
assign(:teams, [
FactoryGirl.create(:team, name: "Team 1"),
FactoryGirl.create(:team, name: "Team 2")
])
end
您应该使用分配代替分配:
before (:each) do
assign(:teams, [
FactoryGirl.create(:team, name: "Team 1"),
FactoryGirl.create(:team, name: "Team 2")
])
end
您应该使用分配代替分配:
before (:each) do
assign(:teams, [
FactoryGirl.create(:team, name: "Team 1"),
FactoryGirl.create(:team, name: "Team 2")
])
end