【问题标题】:rspec for initialize methodrspec 用于初始化方法
【发布时间】:2013-06-14 11:08:06
【问题描述】:

我在我的模型中编写了一个初始化方法(非活动记录)我尝试为该初始化方法编写 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

【问题讨论】:

  • 尽管有我的回答,但我认为 stackoverflow 不适合此类问题。

标签: ruby-on-rails rspec-rails


【解决方案1】:

方法initialize 旨在构造一个新实例。每当调用方法 new 时都会调用它。

你可以写smth。喜欢:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多