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. 规格 2
  2. 规格 3
于 2014-07-30T16:28:31.677 回答