如何获取rspec的当前上下文名称?

Jir*_*ong 19 ruby rspec ruby-on-rails

如果我有像这样的rspec

describe 'Foo' do
   // init go here
   describe 'Sub-Foo' do
      it "should Bar" do
         // test go here
         // puts ... <-- need "Foo.Sub-Foo should Bar" here 
      end
   end
end
Run Code Online (Sandbox Code Playgroud)

如何在测试环境中获得"Foo.Sub-Foo should Bar"// test在这里?

它类似于specdocs的格式,但是如何将其置于自身内部?

mty*_*aka 23

describe 'Foo' do
   describe 'Sub-Foo' do
      it "should Bar" do |example|
         puts "#{self.class.description} #{example.description}"
      end
   end
end
Run Code Online (Sandbox Code Playgroud)

上面的代码打印出"Foo Sub-Foo should Bar".

  • #{description]对我不起作用. (4认同)
  • 尝试使用“应该吧”做“ |示例|”,然后尝试“ example.description”。猜猜RSpec的API对此进行了更改。[docs]中的更多信息(https://relishapp.com/rspec/rspec-core/v/3-8/docs/metadata/current-example)。 (2认同)