2013-04-15 30 views
1

我開始使用的Mockito,但是當我打電話的方法等,當(); Eclipse沒有向我展示導入類選項,所以,我想知道Eclipse是否有一種方法來搜索jar中的方法,並知道我可以導入。如何找到在Java API的方法在Eclipse

我知道在Delphi中我們可以發現,打字的過程或函數,以及IDE告訴你正確的單元把...

所以,我該怎麼辦呢?

+0

我想知道是否有shortcurt讓德corret類OU發現有關該方法的 –

回答

4

您可以添加和的Mockito對匹配器的「內容輔助收藏」,所以他們會出現在導入類甚至在到源文件,只要你添加的Mockito作爲圖書館的項目。

Eclipse content assist for "when"

  1. 轉到Window > Preferences並導航到Java > Editor > Content Assist > Favorites
  2. 單擊「新建...」按鈕並添加org.mockito.Mockito
  3. org.mockito.Matchers一樣。 Mockito類實際上擴展了Matchers以訪問其靜態方法,如anyeq,但Eclipse不喜歡自動顯示這些方法。

要測試它,請嘗試在新文件中輸入「wh」並按下Ctrl-Space。應該出現when()的完成;使用回車選擇它會自動將Mockito.when()導入您的靜態導入。

+0

我也建議將'Java> Code Style>。*所需的靜態導入數量設置爲'0'。這樣您就不需要爲其他方法一直使用Content Assist。 –

2

只需手動添加import static org.mockito.Mockito.*;到文件的頂部。 Eclipse可以很容易地找到類,但我猜它不會在類內搜索靜態方法。你可以獲取導入,而無需將其粘貼在自己將鍵入Mockito.when

的一種方式。我相信應該有一個選項來靜態導入該方法。

+0

確定,但例如,我是)尋找一個教程,並給予(;我需要導入其他類... ,我想知道,如果Eclipse中有一種方法,使這個... –

1

確保罐子的Mockito實際上是在您的構建路徑。

時的方法,()是對象的Mockito的靜態方法。我不是100%確定,但我認爲你不能只寫「when()」,因爲Eclipse不會知道你在說什麼,因爲導入的東西是基於導入的類。因此,通常你需要做一些新的ArrayList,然後Eclipse知道你需要導入ArrayList,但是當你只是鍵入when()時Eclipse不知道你想用when()作爲靜態方法導入一個類。

要當你的方式要你將需要在使用各的Mockito單元測試的頂部要做到這一點使用。

import static org.mockito.Mockito.*; 

http://mockito.googlecode.com/svn/branches/1.6/javadoc/org/mockito/Mockito.html#when(T)

+0

是的,這是... problably因爲就像你告訴我,it's靜態.. –