我有一个涉及2个scala伴侣对象的spark应用程序,如下所示。
object actualWorker {
daoClient
def update (data, sc) {
groupedData = sc.getRdd(data).filter. <several_operations>.groupByKey
groupedData.foreach(x => daoClient.load(x))
}
}
object SparkDriver {
getArgs
sc = getSparkContext
actualWorker.update(data, sc : sparkContext)
}
我面临的挑战是为这个火花应用编写单元测试。我正在使用Mockito和ScalaTest,Junit进行这些测试。
在编写单元测试时,我无法模拟daoClient。 [编辑1:额外的挑战是我的daoClient不可序列化的事实。因为我在spark上运行它,所以我只是将它放在一个对象(不是类)中,它可以用于spark;但它使它不可单元测试]
我尝试了以下内容:
此处的任何输入都将受到赞赏。
PS:我对Scala很新,并且火花
答案 0 :(得分:0)
虽然技术上不完全是一个单元测试框架,但我已经使用https://github.com/holdenk/spark-testing-base来测试我的Spark代码并且运行良好。