Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在scala中使用mockito返回java.util.List的Mocking方法_Scala_Mockito - Fatal编程技术网

在scala中使用mockito返回java.util.List的Mocking方法

在scala中使用mockito返回java.util.List的Mocking方法,scala,mockito,Scala,Mockito,我想返回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.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和其他方法的扩展,但是可以模拟最终方法


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

嗯,mockito不能模仿最终的方法,这就是问题所在。