shared_examples_for "test" do
specify { } # RSpec executes this line.
describe "nested" do
specify { } # RSpec doesn't execute this line.
describe "nested nested" do
specify { } # RSpec doesn't execute this line too.
end
end
end
为什么会这样? RSpec甚至无法识别嵌套行。 尽管实际上有3个例子,它只显示“1个例子”。 我正在使用RSpec版本2.14。
答案 0 :(得分:1)
没有任何东西在运行,因为没有什么可以运行的!您声明了shared_examples_for
块,但您实际上并未在任何地方使用这些示例。
使用it_behaves_like
实际运行示例:
╭── jxf@polytope · 2014-04-16 · 23:07:32
│ ‹ruby:ruby-2.1.0@›
│ /tmp/foo
╰─▶ ψ cat test_spec.rb
shared_examples_for "test" do
specify { }
describe "outer" do
specify { }
describe "inner" do
specify { }
end
end
end
describe "naked" do
it_behaves_like "test"
end
了解我们现在如何使用it_behaves_like
块?让我们来看看这些例子:
╭── jxf@polytope · 2014-04-16 · 23:08:18
│ ‹ruby:ruby-2.1.0@›
│ /tmp/foo
╰─▶ ψ rspec test_spec.rb
...
Finished in 0.00047 seconds
3 examples, 0 failures