2013年2月11日月曜日

ScalaMock 3では、引数ありのコンストラクタのモックは作成できない

背景


Scalaでモックを作るには何がいいのかな~ってところで
ScalaMock を使い始めました。

困ったこと


引数ありのコンストラクタのモックを作ろうとしても
error: not enough arguments for constructor XXX.
というエラーメッセージが出てコンパイルできません。

引数ありコンストラクタを持つクラスはモックを作れないことが判明


http://stackoverflow.com/questions/14274020/scalamock-mock-a-class-that-takes-arguments

にて
Right now, ScalaMock3 can only mock traits and no-args classes.

今のところ、ScalaMock3ではトレイトと引数なしのクラスのみモックできるよ。

 てことで、少なくとも現時点では、引数ありのコンストラクタを持ったクラスのモックは作成できない模様。
テスト対象のクラスを引数なしのコンストラクタにして、引数に渡したかったものはsetter使って渡す形ですかねー。
Traitで定義しておいたほうが楽ですね。
※まぁscalamockのオフィシャルページにも似たようなことが書いてあったのでやっぱりかー、というところ。

0 件のコメント:

コメントを投稿