导轨:夹具 -- 标准错误:找不到表'xyz'名称'abcd'夹具



在运行我的单元测试时,我收到以下错误:

StandardError: No fixture with name 'abcd' found for table 'xyz'

我确实确保一个名为"abcd"的夹具实际上存在于test/fixtures/xyz.yml

我的test_helper.rb 的内容

ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'action_view/test_case'
class ActiveSupport::TestCase
 unless Test::Unit::TestCase.const_defined?('FIXTURE_CLASS_MAP')
    Test::Unit::TestCase::FIXTURE_CLASS_MAP = {
      :feedback_forms => Feedback::Form,
    }
  end
  self.use_transactional_fixtures = true
  self.use_instantiated_fixtures  = false
  set_fixture_class FIXTURE_CLASS_MAP
end

请帮助我了解为什么会发生此错误。

更新:我刚刚发现,在运行测试时,DB中的记录被删除(对于该表),并且夹具文件中的记录入到DB表中。就我而言,并非所有记录都插入到表中(仅插入第一条记录) - 为什么会发生任何线索?

谢谢拉米亚

这是一个老问题,但我猜你没有指定相关的模型关联。除非您在 app/models/xyz.rb 中指定了以下内容,否则示例中的命名灯具将不起作用:

class XYZ < ActiveRecord::Base
  belongs_to :abcd
end

相关内容

  • 没有找到相关文章

最新更新