Я написал спецификацию для проверки переменной экземпляра @vendors в действии index моего контроллера вендоров.Если я удаляю @vendors из контроллера вендора, спецификация все равно проходит.Любые идеи относительно того, почему назначает (: vendors), если @vendors не существует в контроллере.Вот мой код:
Контроллер поставщиков
class VendorsController < ApplicationController
load_and_authorize_resource
def index
# @vendors = Vendor.all
end
end
Спецификация контроллера поставщиков
require 'spec_helper'
require 'ruby-debug'
describe VendorsController do
login_user
before(:each) do
@vendor = Factory(:vendor)
end
describe "GET index" do
before(:each) do
@ability.can :read, Vendor
end
it "assigns all vendors to @vendors" do
get :index
assigns(:vendors).should == [@vendor]
end
it "should render the index template" do
get :index
response.should be_success
response.code.should eq("200")
response.should render_template("index")
end
end
end
Фабрика поставщиков
FactoryGirl.define do
factory :vendor do |f|
f.sequence(:name) { |n| "Test#{n}" }
f.sequence(:address) { |n| "000 Test#{n} drive, Hampton" }
f.state "Virginia"
f.zip "00000"
f.sequence(:telephone) { |n| "000-000-000#{n}" }
f.sequence(:poc) { |n| "Test#{n}" }
end
end
Спасибо