2015-07-20 68 views
2

嘲笑我的File類後返回的對象始終是null。爲什麼?爲什麼在模擬後返回對象時會出現NullPointerException?

PowerMockito.whenNew(File.class).withArguments(String.class).thenReturn(configFile); 

configFile是它像這樣在測試函數創建一個File

@Test 
public void loadJSONConfigFileTest() throws Exception { 
    final File configFile = folder.newFile("config.json"); 
} 

這不是null。獲得返回的是應該的代碼configFile

final File configFile = new File(pathFile); 

由於File.class帶參數的嘲笑,執行這條線時,則返回configFile。但它是null

+0

您可以粘貼一個可運行的程序? – chengpohi

+0

你可以在新的File()被調用的地方發佈代碼嗎?沒有足夠的信息來幫助你。 – JFPicard

+0

你也確定'configFile'被初始化,而不是null? – Codebender

回答

2

您錯誤地使用withArguments。它不期待一個班,它期待着實際的實例。

試試這個:

PowerMockito.whenNew(File.class) 
     .withArguments(Mockito.anyString()) 
     .thenReturn(configFile); 

參見:Mockito.anyString()

相關問題