【问题标题】:Rspec TypeError: superclass mismatch for class CipherRspec TypeError:类密码的超类不匹配
【发布时间】:2018-01-18 16:56:49
【问题描述】:

当我尝试启动 rspec 时出现错误:

An error occurred while loading ./spec/factories_spec.rb.
Failure/Error:
  FactoryGirl.factories.map(&:name).each do |factory_name|
    describe "The #{factory_name} factory" do
      it 'is valid' do
        build(factory_name).should be_valid
      end
    end
  end

NameError:
  uninitialized constant FactoryGirl
# ./spec/factories_spec.rb:1:in `<top (required)>'
/usr/lib/x86_64-linux-gnu/ruby/2.4.0/openssl.so: warning: already initialized constant OpenSSL::VERSION
/usr/lib/x86_64-linux-gnu/ruby/2.4.0/openssl.so: warning: already initialized constant OpenSSL::OPENSSL_VERSION
/usr/lib/x86_64-linux-gnu/ruby/2.4.0/openssl.so: warning: already initialized constant OpenSSL::OPENSSL_LIBRARY_VERSION

An error occurred while loading ./spec/helpers/date_helper_spec.rb.
Failure/Error: require File.expand_path('../../config/environment', __FILE__)

TypeError:
  superclass mismatch for class Cipher
# /var/lib/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support.rb:24:in `require'

如果您需要更多信息,请发表评论

【问题讨论】:

    标签: ruby-on-rails rspec zeus


    【解决方案1】:

    关于前一个错误。您可能正在使用一些现代版本的 FactoryGirl,现在它调用 FactoryBot 并使用 FactoryBot 常量。所以用FactoryBot代替FactoryGirl

    关于后一种。也许您在多个地方多次定义了 Cipher 类,这就是您收到此错误的原因。或者,您可能试图将其称为不同于 OpenSSL::Cipher 的名称。有关Cipher 类的任何详细信息都可以澄清情况

    【讨论】:

      猜你喜欢
      • 2018-03-10
      • 2013-12-13
      • 2017-11-03
      • 2016-02-24
      • 2021-12-29
      • 2022-11-03
      • 1970-01-01
      • 2013-05-12
      • 2022-01-18
      相关资源
      最近更新 更多