

javaソースに対するテストソース内にsetReturnValueAtというmockの機能を利用します。mockクラス側はsetReturnValueAtの定義は必要でしょうか？


CC BY-SA 4.0
2020-02-09T04:44:22.943
62895
2020-02-10T10:28:35.380
37768
question
junit mock mockito
junitで使用するmockクラスの定義について


setReturnValueAt
で検索するとJUnitではなくDJUnitのコードとして紹介されていますね。DJUnitの構文でよいでしょうか？jUnit単体ではMockって提供してないと思いますし。  
仮にDJUnitだとすれば、まず、DJUnitは開発がすでに停止していて、Java7以降の仕様に追従が微妙です。Java8での仕様変更時にこの種のライブラリは影響を受けるので対応することが促されていますが、その際も対応していなかったかな。。  
現在はMockitoなどの利用が一般的です。  
⇒動作するかわからないのに使って時間をどぶに捨てるのも、せっかく作ったテストコードも今後のJavaの仕様変更時に使えなくなることが懸念され、テストコード作成コストの回収があやぶまれます。。

また、yukihaneさんがおっしゃるようにモック化対象コードにsetReturnValueAtのメソッドは存在する必要はありません。  
（テスト対象とテストコードの分離ができなくなるので、意味ないです。）


CC BY-SA 4.0
2020-02-10T10:28:35.380
62930
2020-02-10T10:28:35.380
10174
62895
answer