Scala で Mockito を使用して達成しようとしている単体テストに関して質問があります。ScalaMock も調べましたが、この機能も提供されていないようです。たぶん私は狭い道から解決策を見ていると思います.私がやっていることに対して別の視点やアプローチがあるかもしれないので、あなたの意見はすべて歓迎されます.
基本的に、暗黙の変換を使用してオブジェクトで使用できる関数をモックしたいのですが、その方法を変更する制御はありません。私は図書館の利用者なので。具体的な例は、次のシナリオに似ています
rdd: RDD[T] = //existing RDD
sqlContext: SQLContext = //existing sqlcontext
import sqlContext.implicits._
rdd.toDF()
/*toDF() doesn't originally exist at RDD but is implicitly added when importing sqlContext.implicits._*/
今、テストでは、rdd
とsqlContext
をモックしており、関数をモックしたいと考えていtoDF()
ます。toDF()
RDDレベルには存在しないため、関数をモックできません。簡単なトリックを行っても、モックsqlContext.implicit._
をインポートすると、オブジェクトで公開されていない関数はモックできないというエラーが表示されます。まで暗黙的に実行されるコードをモックしようとさえしましたが、toDF()
モックできない Final/Pivate [アクセス可能な] クラスに行き詰まります。あなたの提案は大歓迎です。前もって感謝します :)