Ruby on rails RSpec测试因Citier Gem类表继承而失败
我已经为联系人目录设置了以下模型Ruby on rails RSpec测试因Citier Gem类表继承而失败,ruby-on-rails,unit-testing,rspec,citier,Ruby On Rails,Unit Testing,Rspec,Citier,我已经为联系人目录设置了以下模型 class Contact < ActiveRecord::Base acts_as_citier end class Company < Contact acts_as_citier end class Operator < Company acts_as_citier end 我至少检查了rails\u sql\u views/connection\u adapters/abstract\u adapter.rb文件中上述
class Contact < ActiveRecord::Base
acts_as_citier
end
class Company < Contact
acts_as_citier
end
class Operator < Company
acts_as_citier
end
我至少检查了rails\u sql\u views/connection\u adapters/abstract\u adapter.rb文件中上述错误中的行号,它只有这一行:
self.class.send(:alias_method, :tables, :original_tables_method)
我在这里使用的是postgresql数据库
也就是说,大约有300个测试都被同一条消息破坏了:(
请注意,所有被破坏的测试都涉及到对这些模型的任何更改。我做了一些修改,最终将gem文件中rails\u sql\u views gem的git cource更改为从git://github.com/flwyd/rails_sql_views.git
这消除了堆栈级别太深的问题,但是我得到了一个全新的错误——尽管我的测试仍然失败——出于某种原因,它将我的视图视为一个表。我将继续就此提出一个新问题
----更新-----
我让它工作起来,在spec/spec_helper.rb文件中做了一些修改,并注释掉了以下两行:
#config.use_transactional_fixtures = true # because I'm not using fixtures here
#DatabaseCleaner.strategy = :truncation
出于某种原因,数据库.strategy
config给了我一些问题-这是我修复它但不知道它是如何修复的情况之一。我将对它进行一些阅读。与此同时,我的测试现在运行良好
#config.use_transactional_fixtures = true # because I'm not using fixtures here
#DatabaseCleaner.strategy = :truncation