我正在用水豚写一些Rspec测试,作为其中的一部分,我需要一些模型方法。
我创建了我的模型:
class MyModel < ActiveRecord::Base
def method_name
#some stuff..
end
end
现在,我想在我的Rspec测试用例中使用MyModel
。
我尝试在config.include Models
中加入spec_helper.rb
,但会抛出错误
Uninitialized constant Models
当我试图加入
时include MyModel.new.method_name()
它抛出错误`include': wrong argument type nil (expected Module) (TypeError)
不包含任何模型类,它运行测试用例,但是我的测试用例没用。
这是我的Rspec测试用例
require 'spec_helper'
describe "State Agency Page" do
let(:state_data) { FactoryGirl.build(:state_data) }
require 'mymodel.rb'
before {visit state_modifier_path}
it "should have breadcrumb", :js=>true do
page.should have_css('.breadcrumb')
end
end
请提供任何解决方案。
提前致谢。
答案 0 :(得分:0)
我不知道你的意思是“你的测试用例没用”,但你似乎误解了Ruby的include
方法的作用。
使用Rails,或者使用带有RSpec的rspec-rails
gem,当您引用相应的类常量(例如MyModel
)时,您的类将被自动加载。因此通常不需要手动“加载”单个模型。只需确保您在规范的开头有require 'spec_helper'
。
至于您尝试使用include
时遇到的错误,我建议您查找并阅读Ruby参考,以了解include
方法的语义以及为什么您的每次尝试都失败了它的方式。