2015-06-14 4 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);