14
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

これが失敗としてリストされている理由は何ですか?

4

2 に答える 2

41

Rspec 3.x の時点で、保留中の仕様は実際に実行され、合格した場合は失敗と見なされます (合格した場合、Rspec は保留中であってはならないと判断するため)。

skipの代わりに使用pendingして、仕様が実際に実行されないことを確認できます。

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

于 2014-07-30T16:28:42.910 に答える
3

ここにあなたの手がかりがあります:

should be an array and not be empty FIXED

合格すると、保留中のテストが失敗します。例 [1]、[2] についてはドキュメントを確認してください。

  1. Rスペック2
  2. Rスペック3
于 2014-07-30T16:28:31.677 に答える