前提・実現したいこと
テスト対象クラスのprivateメソッドがExceptionをthrowするのですが、
テストでExceptionを発生させるのが難しいです。
そのため、当該クラスのprivateメソッドのみを部分的にmock化して、
そのmock化したメソッドが呼ばれたらExceptionをthrowさせるようにしたいです。
そもそも当該事項を実現させるのは無理なでしょうか?
テストツールはJmockitにこだわるつもりはないです。
困っています。お知恵をお貸しください。
該当のソースコード
java
1import org.apache.logging.log4j.LogManager; 2import org.apache.logging.log4j.Logger; 3 4public class LogUtil { 5 6 //コンストラクタ 7 public LogUtil() {} 8 9 public int outPutLog(String logLevel,String msg) { 10 11 //処理結果 12 int rc = 0; 13 14 try { 15 //loggerの取得 16 Logger logger = LogManager.getLogger("hoge"); 17 18 //ログ出力 19 this.write(logger, logLevel, msg); 20 21 return rc; 22 23 }catch(Throwable T) { 24 return rc = 9; 25 } 26 } 27 28 private void write(Logger logger, String logLevel, String msg) throws Throwable { 29 switch(logLevel) { 30 case "D": 31 logger.debug(msg); 32 break; 33 case "I": 34 logger.info(msg); 35 break; 36 case "W": 37 logger.warn(msg); 38 break; 39 case "E": 40 logger.error(msg); 41 break; 42 } 43 } 44}
試したこと
Jmockitでやったのですが、方法がわかりませんでした。
補足情報(FW/ツールのバージョンなど)
Jmockit 1.47
バージョンにはこだわりません。
Jmockitにもこだわりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。