【发布时间】: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