gpt4 book ai didi

java - 使用 PowerMock 测试 Twitter4J

转载 作者:行者123 更新时间:2023-12-01 11:25:35 24 4
gpt4 key购买 nike

我正在尝试使用 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 类型。我想我一定是以错误的方式思考这个问题的。有什么建议吗?

最佳答案

以下是声明和实例化 Twitter 对象的新实例的方法:

Twitter twitter = TwitterFactory.getSingleton();

如果您无法实例化 Twitter 类,则很可能它有一个不可见的构造函数,并且只能通过工厂获取。

您可能想要做的是提供 Twitter 的模拟。

Twitter twitter = mock(Twitter.class);

关于java - 使用 PowerMock 测试 Twitter4J,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30832014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com