rspec挂起导致测试失败

时间:2014-07-30 16:21:10

标签: ruby-on-rails ruby rspec rspec3

it 'should be an array and not be empty' do
  pending
  expect(a.class).to be(Array)
  expect(a.empty?).to be(false)
  expect(a.first.class).to be(ExampleClass)
end

当我运行rspec时:

Failures:

  1) should be an array and not be empty FIXED
     Expected pending 'No reason given' to fail. No Error was raised.
     # ./spec/example_spec.rb:19

为什么会将此列为失败的任何想法?

2 个答案:

答案 0 :(得分:37)

从Rspec 3.x开始,挂起的规格实际上已经运行,如果它们通过,它被认为是失败的(因为如果它通过,那么Rspec认为它不应该是未决的)。

您可以使用skip代替pending来确保您的规范无法实际运行。

更多信息:http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#changes_to__semantics_and_introduction_of_

答案 1 :(得分:3)

这是你的线索:

should be an array and not be empty FIXED

通过的事情将导致待处理的测试失败。查看文档以获取示例[1],[2]。

  1. RSpec 2
  2. RSpec 3