rspec用于初始化方法

时间:2013-06-14 11:08:07

标签: ruby-on-rails rspec-rails

我在我的模型中编写了一个初始化方法(非activerecord)我试图为初始化方法编写rspec,但不知道如何编写它。请帮帮我。

这是我的模特

class Sample

  ATTRIBUTES = %w{ picture_id owner_id hr_width hr_height thumb_width 
  thumb_height thumb_url journal is_border lr_url }.map! { |s| s.to_sym }.freeze

  attr_accessor *ATTRIBUTES

  require 'httpclient'

  def initialize(*h)
    if h.length == 1 && h.first.kind_of?(Hash)
      h.first.each { |k,v| send("#{k}=",v) }
    end
  end

end

2 个答案:

答案 0 :(得分:1)

initialize是私有方法,因此您不应该明确地测试它。如果它有副作用,存根环境要期待这些。如果它没有副作用,就不要测试它。

答案 1 :(得分:0)

方法initialize旨在构建一个新实例。只要调用方法new,就会调用它。

你可以写smth。像:

let(:sample) { Sample.new() }

it 'construct new sample' do
  here you should to check whatever you want
end