2012-11-22 198 views
3

使用返回的Mockito我的java.util.List想返回的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 */ } 
+1

呃,mockito不能嘲笑最終的方法,那就是問題所在。 – Jakozaur

回答