【问题标题】:org.mockito.exceptions.misusing.WrongTypeOfReturnValue on spark test casesorg.mockito.exceptions.misusing.WrongTypeOfReturnValue on spark 测试用例
【发布时间】:2021-06-26 04:27:09
【问题描述】:

我目前正在使用 mockito 为 spark 编写测试用例,并且正在模拟一个 sparkContext ,它会调用 wholeTextFiles 。我有这样的东西

val rdd = sparkSession.sparkContext.makeRDD(Seq(("Java", 20000),
("Python", 100000), ("Scala", 3000)))
doReturn(rdd).when(mockContext).wholeTextFiles(testPath)

但是,我不断收到一条错误消息,提示 wholeTextFiles 应该输出一个 int

org.mockito.exceptions.misusing.WrongTypeOfReturnValue: ParallelCollectionRDD cannot be returned by wholeTextFiles$default$2()
wholeTextFiles$default$2() should return int

我知道情况并非如此,spark 文档说 wholeTextFiles 返回一个 RDD 对象,关于如何解决这个问题的任何提示?我的 doReturn 不能是 int 类型,因为我的函数的其余部分将失败,因为我将 wholeTextFiles 输出转换为数据框。

【问题讨论】:

    标签: scala apache-spark mockito


    【解决方案1】:

    用一些替代方法解决了这个问题。如果我执行 Mockito.when() thenReturn 模式,它工作得很好,但我决定改为更改整个测试用例以启动本地 sparksession 并将一些示例文件加载到 rdd 中,因为这是对我的更深入的测试函数imo

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2023-03-30
      • 2020-01-07
      • 2021-09-24
      • 1970-01-01
      • 2019-01-08
      • 2023-03-30
      • 1970-01-01
      • 2011-09-18
      相关资源
      最近更新 更多