在rspec测试中需要JUST ActiveModel :: Validations

时间:2014-01-08 16:05:14

标签: ruby-on-rails rspec tdd activemodel

我有一个我正在尝试测试的课程,包括ActiveModel::Validations

module SomeModule
  class SomeClass
    include ActiveModel::Validations
  end
end

我正在尝试在没有spec_helper的情况下对其进行测试以保持快速,但是规范顶部的简单require 'activemodel'不起作用。我一直在uninitialized constant SomeModule::SomeClass::ActiveModel(NameError)。对于spec文件:

require 'activemodel'

describe SomeModule::SomeClass do

end

有关解决此问题的任何提示吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您需要在模块/类文件中包含active_model

# /some_class.rb

require 'active_model'

module SomeModule
  class SomeClass
    include ActiveModel::Validations
  end
end

规格,

# /some_class_spec.rb

require './some_class'

describe SomeModule::SomeClass do

end

您想要更改匹配文件的路径。我怀疑当使用包含整个Rails堆栈的其他规范运行时,这会加快你的规格,但是当它自己运行时会更快一些。