2

例として複雑なフィルターを実行しようとしています。私はこのコードを持っています:

require 'rspec'

RSpec.configure do |config|
  config.treat_symbols_as_metadata_keys_with_true_values = true
  config.filter_run :foo => true
end

describe 'Filtering' do

  tested_text = 'foooobar'

  [:foo, :bar].each do |location|
    [:first, :second].each do |current|
      describe 'aaa ' + location.to_s, location => true do

        before :all, location => true do
          puts location
        end

        describe 'bbbb '+ current.to_s, current => true do

          before :all, current => true do
            puts current
          end

          it 'case 1 ' do
            puts 'case 1 ' + tested_text.to_s
          end
        end
      end
    end
  end

  after :each do
    puts 'refresh doc'
  end
end

「rspecを実行すると、いくつかの出力があります

foo
first
case 1 foooobar
refresh doc
foo
second
case 1 foooobar
refresh doc

2 examples, 0 failures, 2 passed

Finished in 0.006087512 seconds

ただし、例を 1 つだけ実行して、この行を Rspec.configure に追加する場合

config.filter_run :first => true

そして、私は取得したいです

foo
first
case 1 foooobar
refresh doc

しかし、予期しない出力が得られた後

foo
first
case 1 foooobar
refresh doc
foo
second
case 1 foooobar
refresh doc
bar
first
case 1 foooobar
refresh doc

3 examples, 0 failures, 3 passed

Finished in 0.011501239 seconds

エンベディはそれを適切に機能させる方法を知っていますか? ありがとう。

4

1 に答える 1