当我尝试拨打record.save时!在线程内部,线程休眠。我需要使用一个线程进行rspec测试。
a = Thread.new do
t = User.find(1)
t.role = 2
t.save!
end
这是我在控制台中收到的输出
主题:0x007fe1d68d9978 @(pry):125 睡眠 [32] pry(主要)>用户负载 (8.5ms)SELECT
users
。* FROMusers
WHEREusers
。id
= 1 LIMIT 1 (0.1ms)BEGIN(0.2ms)COMMIT
答案 0 :(得分:0)
你没有在线程上调用join
。你需要在某个地方调用a.join
,以便让主进程知道如何运行你的线程。
来自文档...
然后我们可以使用join暂停主线程的执行并允许我们的新线程完成。如果我们在主线程终止之前没有调用join,那么所有其他线程都将被终止。