タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

rubyとdiに関するd_animal141のブックマーク (1)

  • RubyではテストしやすくするためにDIを使わない

    結論 Rubyでは、動的にクラスに生えているメソッドを書き換えられるため、テスタビリティを上げるためにDIを使わない。 個人的にはストラテジーパターン使いたいときぐらいしか、DI使わないんじゃないかなーって思っている。 Rubyでテスタビリティ向上のためにDIを使わない理由 DIを使う理由は、結合度の低下、テスタビリティの向上が主な理由だと思います。 一般的な言語の場合には、引数にインターフェースを指定して、インターフェースに依存するようにすることでテスト時にモックオブジェクトを注入できるようにすると思います。しかし、Rubyの場合には、動的にクラスに生えているメソッドを書き換えれるためテスタビリティを上げるためにDIをするのは意味がないです。 Rubyでは、rspecを用いて下記のように書くだけでクラスのメソッドを書き換えることができます。これによりテスト実行時にはクラスのメソッドの内容

  • 1