我有一个关于我试图在 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[in可访问] 类。您的建议非常受欢迎。提前致谢 :)