2015-06-14 102 views
-1

我試圖嘲弄使用PowerMock測試Twitter4J與PowerMock

Twitter twitter = TwitterFactory.getSingleton(); 

RequestToken requestToken = twitter.getOAuthRequestToken(); 

在這裏,下面的代碼是我的單元測試的開始

@RunWith(PowerMockRunner.class) 
@PrepareForTest(TwitterFactory.class) 
public class AuthorisationHelperTest { 

    @Test 
    public void testMain() throws TwitterException { 
     // Arrange 
     PowerMockito.mockStatic(TwitterFactory.class); 
     Twitter mockTwitter = new Twitter(); 
     Mockito.when(TwitterFactory.getSingleton()).thenReturn(mockTwitter); 

不過,我得到一個錯誤,說我不能實例化鍵入Twitter。我想我必須考慮這個錯誤的方式。有小費嗎?

回答

1

這裏是你如何聲明和實例化一個Twitter對象的新實例:

Twitter twitter = TwitterFactory.getSingleton(); 

如果你不能實例化一個Twitter類,可能是它有一個不可見的構造,並且是永遠只可能通過工廠獲得。

你可能想要做的是提供Twitter的模擬代替。

Twitter twitter = mock(Twitter.class); 
相關問題