ruby-on-rails - rspec 在失败测试中的未决结果

标签 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

知道为什么这会被列为失败吗?

最佳答案

从 Rspec 3.x 开始,pending specs 实际上会运行,如果它们通过了,就被认为是失败的(因为如果它通过了,那么 Rspec 认为它不应该是 pending)。

您可以使用 skip 而不是 pending 来确保您的规范实际上没有运行。

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

关于ruby-on-rails - rspec 在失败测试中的未决结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041974/

相关文章:

ruby-on-rails - Rails - 建模多个多对多关系

ruby-on-rails - 将 JSON 字符串转换为哈希

ruby-on-rails - 如何在 RSpec 中删除 years.ago 隐式引用的日期?

ruby-on-rails - Rspec 检查返回值

ruby-on-rails - rails/事件记录 : save changes to a model's associated collections

ruby-on-rails - 按字母顺序排列的列表, rails 上有 ruby

ruby-on-rails - Mongoid错误 "undefined method `删除':format:Symbol"

ruby-on-rails - 处理业务代码中的 GraphQL Enum 值

ruby-on-rails - rspec 显示错误信息

ruby-on-rails - 使用工厂的序列生成唯一的电话号码