Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RSpec测试因Citier Gem类表继承而失败_Ruby On Rails_Unit Testing_Rspec_Citier - Fatal编程技术网

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