Back

ruby - rspec 小技巧: 可以有多个describe, 有多个before do end

发布时间: 2019-03-27 12:55:00

每个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

Back