モックとして差し替えやすいように

今まで具象ではなく抽象に依存させればテストしやすくなるの意味がしっくりきてなかったが、実際にモックをつかったテストを書いてみるとその意味がわかったかも。

class User

  def sample_method
    res = SampleAPI.call # APIを叩く
    # APIのレスポンスをゴニョゴニョする
  end
end

これだとsample_methodのテストをしたい時に

class User
  
  def sample_method(api = SampleAPI)
    res = api.call
    # APIのレスポンスをゴニョゴニョする
  end
end