【发布时间】:2017-01-19 06:20:47
【问题描述】:
我知道控制器规格中的expect(assign(:var)) 测试@var 被分配了某个值。就我而言,我想测试这个 @var 是否收到特定消息。如果我在get :action 之前执行此操作,则分配返回 nil。如果我之后再做,那么期待消息已经太迟了。
# controller
def action
@var = something
@var.message
render :nothing
end
# spec1
expect(assigns(:var)).to receive(:message) # not working, var is nil
get :action
# spec2
get :action
expect(assigns(:var)).to receive(:message) # not working, expectation too late
【问题讨论】:
标签: ruby-on-rails ruby rspec rspec-rails