概要
rspec-core shared metadata
詳細
described_class
described_classでdescribeのクラスを取得可能。
shared_examlesなどを作成する際に、
処理対象のクラス名称を問わずに利用できます。
サンプルコード(プロダクトコード)
# encoding: utf-8 class Hoge def hoge1 "hoge" end def hoge2 "hoge" end def hige1 "hige" end def hige2 "hige" end end
サンプルコード(テストコード)
# encoding: utf-8 require "spec_helper" require "hoge" require "pp" describe Hoge do it do puts example.class puts example.metadata.class pp example.metadata.keys pp example.metadata[:example_group][:description_args] puts described_class end end
出力
$ rspec Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} RSpec::Core::Example RSpec::Core::Metadata [:example_group, :example_group_block, :caller, :execution_result] [Hoge] Hoge .Class . Finished in 0 seconds 2 examples, 0 failures