Как указать функцию для заглушки при использовании минитеста мокко? - PullRequest
0 голосов
/ 30 мая 2019

Можно ли указать, какое исключение find_by! вызывается в следующем примере (я хочу, чтобы было поднято второе, а не первое):

def self.test
  Instance.stubs(:find_by!).raises(ActiveRecord::RecordNotFound)

  begin
    function_one
  rescue ActiveRecord::RecordNotFound
    puts 'Failure'
  end

  begin
    function_two
  rescue ActiveRecord::RecordNotFound
    puts 'Success'
  end
end

def self.function_one
  Model.find_by!(id: 1)
end

def self.function_two
  Model.find_by!(id: 1)
end

* Предположим, id: 1 не существует. Как и в примере, также предположим, что это будут статические функции класса, но, пожалуйста, укажите любые различия в случае, когда add any_instance будет недостаточно для методов экземпляра.

1 Ответ

0 голосов
/ 30 мая 2019

Как насчет этого?

Instance.stubs(:find_by!).returns('result').then.raises(ActiveRecord::RecordNotFound)
...