ruby - rspec 小技巧: 可以有多个describe, 有多个before do end
访问量: 1983
每个describe下面都可以 before do ..end
每个describe可以同时存在多个before do ...end
before do ...end 等同于 before(:each) do ..end
下面是一个例子:require File.expand_path '../spec_helper.rb', __FILE__ describe '对于ticker' do #load_and_run 'before_and_after.rb' before do puts "== in before ..do .." end puts "== in 你好啊, 我是属于第一级describe中的内容,所以只运行一次,最优先运行" describe '测试一下describe中的内容是否只运行一次' do before do puts "== in 你好啊中的describe, 会出现两次" end it 'lueluelue' do puts '-- 我是lueluelue' end it 'lalala' do puts '-- 我是lalala' end end it '每次成交后,应该立刻更新ticker' do #OrderProcessor.init market_id: 'ethusdt', ask_currency: @eth, bid_currency: @usdt end end输出是:
$ bundle exec rspec spec/ticker_spec.rb == in 你好啊, 我是属于第一级describe中的内容,所以只运行一次,最优先运行 == in before ..do .. .== in before ..do .. == in 你好啊中的describe, 会出现两次 -- 我是lueluelue .== in before ..do .. == in 你好啊中的describe, 会出现两次 -- 我是lalala