【问题标题】:rspec nested context strings concatenationrspec 嵌套上下文字符串连接
【发布时间】:2014-01-25 01:26:58
【问题描述】:

在我的 rspec 测试中,我有很多像这样的深层嵌套上下文:

describe "#mymethod"
  it_behaves_like "specific object"
end

shared_examples_for "specific object" do
  context "when it receives proper parameters" do
    context "when file is in a queue" do
      it "behaves as i want it to" do
       #...
    end
  end
end

因此,当我运行我的 rspec 测试时,我会在“待定”/“失败”/“失败示例”部分中得到类似(或更复杂)的结果:

mymethod behaves like specific object when it receives proper parameters when file is in a queue behaves as i want it to

这些上下文字符串有时会因为缺少分隔符而变得不可读。

我怎样才能猴子补丁 rspec 自动添加它们(例如“|”)(或者是否有其他首选解决方案)? rspec 中的描述符字符串在哪里连接?

【问题讨论】:

  • 就我个人而言,我通过消除命名空间并最终进入最终的 context 命名空间来解决它,该命名空间可以在没有任何关联字符串的情况下测试 it { should be 'foo' } 块。在一个相当大而复杂的应用程序上进行测试,并且测试可读性很强。
  • 你在使用--format documentation吗?
  • 是的。实际上我只是注意到我的问题仅适用于 rspec 输出的“失败”和“待处理”部分。初始 rspec 的输出(“Episode”)看起来正确(缩进),这对我来说部分解决了这个问题。

标签: ruby-on-rails rspec string-concatenation


【解决方案1】:

RSpec 有notion of a separator hard-coded。不幸的是,它现在不可配置,但我猜维护者会考虑一个补丁来审查。

【讨论】:

  • 顺便说一句,我觉得你很渴望这个功能:可定制的分隔符。我显然已经开始查看代码了,当我有时间时(?)可能会破解一些东西。
猜你喜欢
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多