gpt4 book ai didi

scala - 在scala中使用mockito模拟方法返回java.util.List

转载 作者:行者123 更新时间:2023-12-02 03:53:48 25 4
gpt4 key购买 nike

我想返回 java.util.List

  val cacheManager = mock(classOf[CacheManager])
val cache = mock(classOf[Cache])

when(cacheManager.getCache(anyString)).thenReturn(cache)
when(cache.getKeys.asInstanceOf[List[String]]).thenReturn(List("some_key"))

它编译,但抛出:

  java.lang.NullPointerException
at net.sf.ehcache.Cache.checkStatus(Cache.java:2722)
at net.sf.ehcache.Cache.getKeys(Cache.java:1912)
at (last line of code)

我该如何解决?我尝试了几种方法,但没有成功。

方法签名:

     public final java.util.List getKeys() throws java.lang.IllegalStateException, net.sf.ehcache.CacheException { /* compiled code */ }

最佳答案

PowerMock,Mockito 和其他扩展,但是可以模拟 final方法。 http://code.google.com/p/powermock/wiki/MockFinal

此外,在引用 java.util.List 时,您可能希望使用全名而不仅仅是 List,通常是 scala.collection.immutable.List。

关于scala - 在scala中使用mockito模拟方法返回java.util.List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13512840/

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