前提
JavaのjUnit5を用いて、単体テストを製造を担当しております。
しかし、私自身がjUnitの経験が殆ど無く、資料で調べた程度の知識しかありません。
また、会社もjUnitを導入する方針を決めたばかりであるため、会社側も知識とjUnitに関するルールがありません。
使用環境は下記の通りです
- Eclipse 4.7.3a
- JUnit 5.2.0
- その他環境 検討中
実現したいこと
下記の機能において、メソッドHoge.fuga(st, se)のテストを行うことを目的としております。
ソースコード
Java
1import java.io.Serializable; 2 3import javax.ws.rs.core.Status; 4import javax.ws.rs.core.Response; 5 6public class Hoge() { 7 protected Response fuga(Status st, Serializable se) { 8 return Response.status(st).entity(se).build(); 9 } 10} 11
試したこと
考えたテストの内容
- Response.status(Status)が実行されていること。
- ResponseBuilder.entity(Object)が実行されていること。
- ResponseBuilder.build()が実行されていること。
考えた方針
- Responseをモック化してstatusの戻り値をResponseBuilderを継承した自作のクラス(MockedResponseBuilder)に差し替える。
- ResponseBuilder.build()の戻り値をResponseを継承した自作のクラスに差し替える。
懸念点
Responseは抽象クラスであり、Response.status(Status)は静的メソッドであるここれをモック化する方針が分からない。
jMockit(ver. 1.8)を使ってみようとしたが、ソース内の静的メソッドをモック化する方法が見つからなかった。
聞きたいこと
- そもそも、このクラスに対して私の考えたテスト内容と方針は問題ないか。
- 問題ない場合、Response.statusをモック化する方法はないか。
- 問題ある場合、どのような方針を取ればよいか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/26 03:30
2018/07/26 05:43
2018/07/26 14:04
2018/07/26 14:29