概要
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