Как я могу утверждать поведение при инициализации с помощью RSpec?

У меня есть класс сообщений, который можно инициализировать, передав аргументы в конструктор или не передавая аргументов, а затем устанавливая атрибуты с помощью методов доступа. В методах установки атрибутов происходит некоторая предварительная обработка.

У меня есть тесты, которые гарантируют, что методы установки выполняют то, что они должны делать, но я могу ' Кажется, я нашел хороший способ проверить, действительно ли метод initialize вызывает сеттеры.

class Message
  attr_accessor :body
  attr_accessor :recipients
  attr_accessor :options

  def initialize(message=nil, recipients=nil, options=nil)
    self.body = message if message
    self.recipients = recipients if recipients
    self.options = options if options
  end

  def body=(body)
    @body = body.strip_html
  end
  def recipients=(recipients)
    @recipients = []
    [*recipients].each do |recipient|
      self.add_recipient(recipient)
    end
  end
end
5
задан Glenjamin 31 January 2011 в 12:06
поделиться