有人可以解释一下这是什么意思吗
[July August September October November Other] [1, 0, 0, 0, 0, 50 ] [1, 0, 0, 0, 0, 30 ] [1, 0, 0, 0, 0, 60 ] [1, 0, 0, 0, 0, 22 ] [1, 0, 0, 0, 0, 5 ]
我看了一些在线文章,但不太了解。
这是我使用Scala Mockito编写的ScalaTest代码片段
Error:(32, 28) discarded non-Unit value
dataFrameReader.load() wasCalled once
如果我拿出 ...
val dataFrameReader = mock[DataFrameReader]
dataFrameReader.format(anyString) shouldReturn dataFrameReader
dataFrameReader.option(anyString, anyString) shouldReturn dataFrameReader
dataFrameReader.load() wasCalled once
,那就可以了
我不知道这是什么意思,因为我正在对load()返回的内容调用“ wasCalled”,并且wasCalled once
解析为一个单位
我在这里想念什么?
答案 0 :(得分:2)
假设您是从Apache Spark模拟DataFrameReader.load
,则其返回类型实际上是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"
,则会被编译器标记。