rspec,2路是一样的吗?
ONE:=>运行测试时为falserspec,2路是一样的吗?,rspec,rspec2,rspec-rails,Rspec,Rspec2,Rspec Rails,ONE:=>运行测试时为false @sponge = Factory(:user) let(:event_type) { EventType.where( name: 'visit_site').first subject{ Event.new user: @sponge, event_type: event_type, points_earned: event_type.points_value, description: {}} context 'call #update_user_
@sponge = Factory(:user)
let(:event_type) { EventType.where( name: 'visit_site').first
subject{ Event.new user: @sponge, event_type: event_type, points_earned: event_type.points_value, description: {}}
context 'call #update_user_points when create a event' do
it{should_receive(:update_user_points)}
end
两个:=>运行测试时为true
@sponge = Factory(:user)
let(:event_type) { EventType.where( name: 'visit_site').first
subject{ Event.new user: @sponge, event_type: event_type, points_earned: event_type.points_value, description: {}}
context 'call #update_user_points when create a event' do
it{should_receive(:update_user_points)}
end
请给我一些建议:D您的第二个示例与第一个示例不同:它们都为
事件#更新用户点
设置了消息期望,但第二次调用保存
;第一个没有
我不认为您可以像第一个示例中那样,使用带有隐式主题的should\u receive
。rspec似乎没有抱怨,但我认为它并没有达到你想要的效果。为此,它做了以下工作:
update\u user\u points
方法接收更新它失败是因为从未收到消息。我理解rspec中的一点,例如为什么我们必须在“event.save”之前加上“should_receive”。我认为它在创建一个事件后运行update\u user\u points,它应该放在那之后吗?我想第一条路必须走得很好?你能教我一些关于rspec的好东西吗。谢谢:D