エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Java: 単体テストを書くためにstaticメソッドから脱却しよう #1 原則・ラップメソッド - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Java: 単体テストを書くためにstaticメソッドから脱却しよう #1 原則・ラップメソッド - Qiita
概要 レガシーコードでは、単体テストを書こうとした際に、しばしば既存のstaticメソッドが妨げになるこ... 概要 レガシーコードでは、単体テストを書こうとした際に、しばしば既存のstaticメソッドが妨げになることがある。 この記事では、「新たにそのようなコードを増やさないようにするための原則(ルール)」と「既存のstaticメソッドが妨げになっているケースの解決方法」を示す。 レガシーコードに対して、はじめて単体テストを書くとき向けの記事。 問題 下記のLegacyService#execute()のようなメソッドに対して、うまく単体テストを書くことができない。 テスト対象メソッドから呼び出されているloadFromDatabaseメソッドがデータベースへのアクセスを必要とするため、アクセスが不可能な環境から実行した際には、例外が発生してしまう。 仮にデータベースへのアクセスが可能だったとしても、そのデータベースから安定して同じデータを取得することは難しく、また実行時間がかかってしまう。 pu