有没有一种简单的方法可以将第一个参数传递给Rspec的`describe`?

Nat*_*ong 2 ruby rspec

假设我有一个测试套件,我首先给出describe一个常量:

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

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

end
Run Code Online (Sandbox Code Playgroud)

是否有一种现有的方法,如类似subject或类似的东西,这使得这个let(:klass)多余?如何访问传递给的第一个值describe

Phi*_*rom 5

默认情况下,subject它将是describe块中类的新实例,因此您应该可以调用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
Run Code Online (Sandbox Code Playgroud)