-2

当我使用 MockitoSugar 在 scala 中模拟一个类并尝试访问该模拟对象时,我得到空指针异常。

import org.apache.hadoop.hbase.util.Pair;

class JobSpec extends FunSpec with MockitoSugar {

    var pairType: Pair[Optional[String],Optional[String]] = mock[Pair[Optional[String],Optional[String]]]

    describe("update") {
        it("run") {
            pairType.getSecond()
        }
    }
}

pairType.getSecond()正在抛出 NPException。

我期望pairType有一些虚拟值。

4

1 回答 1

1

这里有几件事

a) 不建议模拟你不拥有的东西,也就是库类

b)默认情况下,如果没有在 mockito-core 中存根任何 mock,则默认返回null

NPE 有时也可能由于 Java-Scala 互操作问题而发生,这可能是您的情况,因为您似乎没有使用pairType.getSecond(). 解决方案是使用 mockito-scala ;)

于 2019-08-21T13:22:52.463 回答