4

これはまったくばかげていて重要ではありませんが、ただ興味があります: RSpecを使用して、自分がいるスコープの「深さ」にアクセスできますか? あれは...

describe SomeClass do
  describe "#some_method" do
    context "within some context" do
      it "is possible, what I'm asking" do
        # Actually, I'm not entirely sure what I'd expect this
        # value to be... basically, whatever the RSpec designers
        # felt made sense.
        mysterious_method_to_get_depth.should == 3
      end
    end
  end
end

実際に質問しているのは、有用な情報を出力したいのですが、テスト出力が最大限に読みやすい (つまり、適切なインデントを使用して) ようにするためです。

4

2 に答える 2

3

example.metadata例の中で、大量の情報を提供するハッシュであるを使用できます。

于 2012-05-05T06:48:27.990 に答える
0

@Myron Marston の提案に従って、次のような実装を行いました。

def mysterious_method_to_get_depth(meta)
    if !meta.has_key?(:example_group)
        0
    else
        1 + mysterious_method_to_get_depth(meta[:example_group])
    end
end

次のように呼び出す必要があります。mysterious_method_to_get_depth(example.metadata)

別の解決策は、DocumentationFormatter をカスタマイズすることです: https://stackoverflow.com/a/23446897/659788

于 2014-05-03T16:41:35.467 に答える