【问题标题】:superclass must be a Class in rspec after ruby upgraderuby 升级后,超类必须是 rspec 中的类
【发布时间】:2015-07-18 18:00:47
【问题描述】:

我有一个如下所示的课程:

module API
  module MyNamespace
    class Base < ActiveRecord::Base
    end
  end
end

module API
  module MyNamespace
    class MyClass < Base
    end
  end
end

在尝试从 ruby​​ 1.9.3 升级到 2.1.5 时,我在执行整个规范套件时开始收到错误。

superclass must be a Class (Module given)

这很奇怪,因为API::MyNamespace::Base 是一个类。此外,如果我将测试作为较小运行的一部分(单个规范或 API 命名空间中的所有内容)运行,那么一切都很好。

我不确定在这里尝试什么。

【问题讨论】:

  • 我想我打过一次,这很愚蠢。我想我将它从实际使用 module API 等词改为仅使用 class API::MyNamespace::MyClass 并且对此更满意(即使它们在逻辑上是等效的)
  • 现在试一试,会回来报告的。
  • 做到了!奇怪的。把它作为一个答案,我会投票/接受!

标签: ruby-on-rails-3 rspec ruby-2.1


【解决方案1】:

我想我打过一次,这很愚蠢。我想我把它从实际使用模块 API 等单词改为只是做

class API::MyNamespace::MyClass

而且更高兴的是(即使它们在逻辑上是等价的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2013-02-16
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多