【发布时间】:2015-02-10 20:54:30
【问题描述】:
给定示例 sinatra 应用程序
post '/1' do
sleep(1) until @2
0
end
post '/2' do
@2 = true
0
end
和示例 RSpec 测试
describe 'test' do
it 'does /1' do
post '/1'
expect(last_response.body) to eq?(0)
end
it 'does /2'
post '/2'
expect(last_response.body) to eq?(0)
end
end
第一个测试 (it does /1) 将挂起,等待调用 /2。
是否可以告诉 RSpec 在开始测试 #2 之前不要等待测试 #1 的结果完成? A.K.A,RSpec 中是否可以进行异步测试?
【问题讨论】:
-
给定的应用程序没有多大意义,因为实例变量不会在请求之间持续存在。但无论如何,您的问题的答案是“使用线程”。
标签: ruby rspec sinatra rack rack-test