rspec pending results in falied test
Asked Answered
S

2

15
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

When I run 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

Any ideas why this is being listed as a failure?

Septimal answered 30/7, 2014 at 16:21 Comment(0)
A
43

As of Rspec 3.x, pending specs are actually run, and if they pass, it's considered a failure (because if it passes, then Rspec thinks it shouldn't be pending).

You can use skip instead of pending to make sure your spec doesn't actually run.

More info: https://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#changes-to-pending-semantics-and-introduction-of-skip

Abseil answered 30/7, 2014 at 16:28 Comment(0)
L
3

Here's your clue:

should be an array and not be empty FIXED

Things that pass will cause a pending test to fail. Check the docs for examples [1], [2].

  1. RSpec 2
  2. RSpec 3
Leupold answered 30/7, 2014 at 16:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.