Wei*_*Wei 9 ruby benchmarking rspec ruby-on-rails rspec-rails
从源(database_cleaner,active_record)判断,看起来它们应该同样快.但有人声称使用database_cleaner的事务策略会降低控制器和模型规范(例如).我没有一个大型测试套件可用于基准测试.任何人有任何见解或比较两者?
Rhe*_*hin 11
我花了一点时间比较两个中型代码库,它们广泛使用ActiveRecord灯具.当我将其切换为使用DatabaseCleaner而不是时use_transactional_fixtures,模型规格开始花费大约两倍的时间.
在进行了相同的比较之后,我意识到有两件事情可以use_transactional_fixtures控制:
use_transactional_fixtures为true,则在第一次测试之前加载夹具数据一次DatabaseCleaner的交易策略可以替代(1).但缺点是您的套件将重复加载相同的灯具数据.
因此,如果您不使用AR灯具(或仅使用一对),use_transactional_fixturesDatabaseCleaner的交易策略将具有类似的性能.但是如果你使用很多AR灯具,那么use_transactional_fixtures关闭会对性能产生很大的影响.
| 归档时间: |
|
| 查看次数: |
1715 次 |
| 最近记录: |