gpt4 book ai didi

Scala Mockito : Discarded non-unit value for Unit declaration

转载 作者:行者123 更新时间:2023-12-01 03:07:34 27 4
gpt4 key购买 nike

有人可以解释一下这是什么意思吗

Error:(32, 28) discarded non-Unit value
dataFrameReader.load() wasCalled once



看了网上的一些文章,不是很明白。

这是我使用 Scala Mockito 进行的 ScalaTest 的代码片段
 ...
val dataFrameReader = mock[DataFrameReader]
dataFrameReader.format(anyString) shouldReturn dataFrameReader
dataFrameReader.option(anyString, anyString) shouldReturn dataFrameReader
dataFrameReader.load() wasCalled once

如果我拿出 wasCalled once然后它工作正常

我不明白这意味着什么,因为我在 load() 返回的内容和 wasCalled once 上调用“wasCalled”解析为一个单位

我在这里缺少什么?

最佳答案

假设你在 mock DataFrameReader.load 来自Apache Spark,那么它的返回类型实际上是DataFrame而不是 Unit :

def load(): DataFrame

另一方面,返回类型为 wasCalled 确实是 Unit :
def wasCalled(t: Times)(implicit order: VerifyOrder): Unit

因此我们有一个类似的情况
def f(): Unit = {
g() // g returns DataFrame which gets discarded by f
}

def g(): DataFrame

如果 scalacOptions += "-Ywarn-value-discard" 会被编译器标记设置。

问题已经 resolvedmockito-scala 1.2.2 .

关于Scala Mockito : Discarded non-unit value for Unit declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55305006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com