加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何在rspec之前(:all)访问元数据?

发布时间:2020-12-16 22:17:57 所属栏目:百科 来源:网络整理
导读:我想在before(:all)方法中显示测试组名称(和祖先): describe "My awesome app" do before(:all) do puts running_example_group.metadata[:full_description] # - what I'm imagining ... done ... describe "awesome widget" do before (:all) do puts ru
我想在before(:all)方法中显示测试组名称(和祖先):
describe "My awesome app" do
  before(:all) do
    puts running_example_group.metadata[:full_description] # <- what I'm imagining
    ...
  done
  ...
  describe "awesome widget" do
    before (:all) do
      puts running_example_group.metadata[:full_description] # <- what I'm imagining
      ...
    done
    ...
  done
done

这个想法会产生输出:

My awesome app
My awesome app awesome widget

这个数据在“it”子句中可用,但是我以前不能(…).是不是可用?我只是犯了一个愚蠢的错误?

解决方法

在一个before(:all)块之前,没有“运行示例”,但您仍然可以通过RSpec :: Core :: ExampleGroup访问元数据.以下是可以从各种范围访问元数据的示例:
describe "My app",js: true do

  context "with js set to #{metadata[:js]}" do
    before :all do
      puts "in before block: js is set to #{self.class.metadata[:js]}"
    end

    it "works" do
      puts "in example: js is set to #{example.metadata[:js]}"
    end
  end

end

有关更多信息,请查看this comment in rspec/rspec-core#42.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读