2

describe定数を指定して開始するテスト スイートがあるとします。

describe SomeExcessivelyLong::And::Maybe::Namespaced::Classname do

  # Convenience reference for tests
  let(:klass) { SomeExcessivelyLong::And::Maybe::Namespaced::Classname }

end

subjectこれをlet(:klass)冗長にするような既存の方法はありますか? に渡された最初の値にアクセスするにはどうすればよいdescribeですか?

4

2 に答える 2

5

デフォルトでは、記述ブロック内のクラスの新しいインスタンスになるため、呼び出してクラス自体を取得subjectできるはずです。subject.class

describe SomeExcessivelyLong::And::Maybe::Namespaced::Classname do
  it "should do something" do
    subject.class.should be_a SomeExcessivelyLong::And::Maybe::Namespaced::Classname
  end
end
于 2012-11-21T18:19:25.530 に答える
2

あなたの例を呼び出すdescribed_class

describe SomeExcessivelyLong::And::Maybe::Namespaced::Classname do
  it "should do something" do
    described_class.should be SomeExcessivelyLong::And::Maybe::Namespaced::Classname
  end
end
于 2012-11-21T20:41:33.917 に答える