【发布时间】:2016-06-05 05:49:35
【问题描述】:
现在我有一个 subscriber 控制器来创建订阅者,但这不是我想要测试的。我在控制器中还有一个方法,将 1 添加到订阅服务器上的访问属性(我将发布代码),这是我想要测试的方法,但我不确定如何测试?我是 Rails 和 Rspec 的新手,所以我很难掌握这些概念。为了清楚起见,我将发布我的测试和控制器。
控制器:
def search
@subscriber = Subscriber.new
end
def visit
@subscriber = Subscriber.find_by_phone_number(params[:phone_number])
if @subscriber
@subscriber.visit =+ 1
@subscriber.save
flash[:notice] = "thanks"
redirect_to subscribers_search_path(:subscriber)
else
render "search"
end
end
测试
it "adds 1 to the visit attribute" do
sign_in(user)
subscriber = FactoryGirl.create(:subscriber)
visits_before = subscriber.visit
post :create, phone_number: subscriber.phone_number
subscriber.reload
expect(subscriber.visit).to eq(visits_before)
end
错误信息:
如您所见,这是我要测试的方法。当前的测试不起作用,但我认为这可能有助于展示我的想法。希望这是足够的信息,如果您还想看其他内容,请告诉我?
【问题讨论】:
-
我就是这么回答你的,visits是Instance的方法,不是类的方法。
标签: ruby-on-rails ruby rspec