【问题标题】:Using parallel gem when testing ActiveRecords in rails application在 Rails 应用程序中测试 ActiveRecords 时使用并行 gem
【发布时间】:2015-12-07 20:46:21
【问题描述】:

我正在使用 MiniTest,在我的测试用例中,我正在创建一个这样的 ActiveRecord

test 'importing game from confirmed list' do
  Nba::Game.create(stats_id: 1)
  Data::SportData::ProcessUpdate.new(season_id: 2015, league: 'nba').process_boxscores
end

然后,我正在运行process_boxscores 方法

def process_boxscores
   #Nba::Game.all = [#<Nba::Game id: 1, stats_id: 1, created_at: "2015-12-07 20:39:26", updated_at: "2015-12-07 20:39:26">]
   loaders = Parallel.map(list, in_threads: 4) {|game| 
     #Nba::Game.all = []
     build_boxscore_loader(game)
   }.compact
end

在该方法中,使用了并行 gem 来加快进程,但它不显示数据库中的活动记录。

我将Nba::Game.all的结果在并行块外和并行块内都注释掉了。

关于为什么在并行块内无法识别活动记录的任何想法?

【问题讨论】:

    标签: ruby-on-rails ruby activerecord parallel-processing minitest


    【解决方案1】:

    这已通过我制作的github issue 解决,希望这对其他人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2017-11-22
      • 2011-08-14
      • 2012-01-20
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多