我有一个有一些观察员的rails3应用程序。我不能为我的生活弄清楚如何关闭我的rspec测试!如何在rails 3中没有观察者运行rspec?
12
A
回答
5
两个选项可能是:
- No peeping toms
- 以下内容添加到您的test.rb环境:使用Rails 3.1+使用时
config.active_record.observers = []
30
no_peeping_toms将输出废弃警告。目前它已打开7 pull requests以删除这些弃用警告,但是gem is not necessary with Rails 3.1+。 Rails 3.1添加到ActiveModel(因此ActiveRecord)启用和观察者的能力。
你可以把下面的行spec_helper关闭所有的观察家都ActiveRecord的后裔型号:
# spec/spec_helper.rb
...
RSpec.configure do |config|
...
config.before do
...
ActiveRecord::Base.observers.disable :all # <-- Turn 'em all off!
end
end
你可以把他们重新选择在您的规格与包装的动作,以测试他们的行为enable方法。
# spec/models/foo_observer_spec.rb
describe FooObserver do
subject { FooObserver.instance }
it 'notices when new Foos are created' do
subject.should_receive(:after_create)
Foo.observers.enable :foo_observer do # <- Turn FooObserver on
Foo.create('my new foo')
end # <- ... and then back off
end
end
相关问题
- 1. Rspec和rails中的观察者
- 2. Rails 3 - 获取Lates观察者记录
- 3. ActiveRecord观察者没有在指定的回调中调用(Rails 3)
- 4. 内容观察者在后台运行
- 5. 如何在Rspec中测试时跳过观察者after_save调用?
- 6. 如何在观察者
- 7. Javascript运行时间函数观察者
- 8. 观察者模式 - 观察者创建
- 9. 观察者运行线程数组
- 10. postNotificationName没有要求观察者方法
- 11. Firebase观察者在viewDidLoad中调用时没有观察数据库更改
- 12. Rails观察员没有发射......有时
- 13. Rails观察者 - 什么时候以及何时不在Rails中使用观察者
- 14. Android“观察者”
- 15. Rails 3:如何识别观察者中的after_commit动作? (创建/更新/销毁)
- 16. 移除观察者通知Swift 3
- 17. 观察者隐含有
- 18. Rails 3的观察 - 想学习如何实现观察员多个型号
- 19. 如何在Firebase 3和Swift 3(停止观察者)中检索一次数据
- 20. 如何在UISlider上添加观察者
- 21. Ruby on Rails自定义观察者
- 22. Java观察者和可观察的
- 23. 如何处理大号没有。的观察员有效地更新w.r.t.时间在观察者模式
- 24. 当观察者的观察者的寿命长于可观察到的
- 25. 如何在没有插件的情况下在Jquery中实现“观察者”?
- 26. 自动SASS到RoR 3中的CSS,没有sass - 观察
- 27. 观察者模式
- 28. 初学者JavaFX观察者
- 29. 我应该将我的Rails 3观察者存储在app/models目录中吗?
- 30. 观察者模式 - 将信息传递给观察者
感谢您指向'Foo.observers.enable' – iRonin 2012-09-11 06:45:13
不客气! – 2012-09-27 02:37:36