5
我試圖在測試中重新創建競爭條件,所以我可以嘗試一些解決方案。我發現在我的測試中創建的線程中,ActiveRecord對於計數總是返回0,對於發現則始終爲零。例如,對於3行的表格 「FOOS」:rspec中的多線程ActiveRecord請求
it "whatever" do
puts Foo.count
5.times do
Thread.new do
puts Foo.count
end
end
end
將打印
3
0
0
0
0
0
test.log中顯示預期的查詢時,預期的6倍:
SELECT count(*) AS count_all FROM `active_agents`
不限想法這裏發生了什麼?
我有和jeem描述的一樣的問題,而@ henning-koch的解決方案爲我解決了這個問題。我在上面的代碼中添加了代碼(需要被其他人接受)。 – 2011-10-23 18:05:22
非常好的把戲! – 2015-02-10 19:06:52