首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在twitter4j中创建模拟状态对象?

如何在twitter4j中创建模拟状态对象?
EN

Stack Overflow用户
提问于 2011-08-28 20:59:19
回答 4查看 3.2K关注 0票数 6

我正在使用twitter4j和开发StatusListener类,需要一种只创建模拟状态对象的方法,这样我就可以测试我的类。我不想在开发时必须实际连接到API。

有没有办法从json字符串创建状态对象?我只想从Twitter下载一个状态,将其保存为字符串,然后在我开发时重用它来创建状态对象。

有人能告诉我怎么做吗?

EN

回答 4

Stack Overflow用户

发布于 2011-08-28 21:07:30

一种选择是使用模拟测试框架(如Mockito )实际创建模拟Status对象。

只要您确切知道Status对象应该返回什么,那么这就是一个不需要任何连接到Twitter API的方法。

例如,假设我们有一个YourClass.extractStatusText方法,它将从Status对象提取状态文本并返回该文本。

使用Mockito,我们可以执行以下操作:

代码语言:javascript
复制
import static org.mockito.Mockito.mock;

// ...

public void testCode() {
  // given - we'll mock a Status which returns a canned result:
  Status status = mock(Status.class);
  when(status.getText()).thenReturn("It's a nice summer day!");

  // when - exercise your class
  String statusText = YourClass.extractStatusText(status);

  // then - check that the status text is returned
  assertEquals("It's a nice summer day!", statusText);
}
票数 7
EN

Stack Overflow用户

发布于 2011-08-28 21:06:39

让连接和下载一个状态,然后通过序列化保存它

http://java.sun.com/developer/technicalArticles/Programming/serialization/

http://twitter4j.org/en/javadoc/twitter4j/Status.html

http://twitter4j.org/en/javadoc/twitter4j/StatusJSONImpl.html

要创建自己的对象,请根据constructor documentation使用StatusJSONImpl类和带有twitter4j.internal.org.json.JSONObject的feed构造函数

票数 2
EN

Stack Overflow用户

发布于 2011-12-13 16:07:00

使用DataObjectFactory.createStatus(String rawJSON)方法。

详情请参见http://twitter4j.org/en/javadoc/twitter4j/json/DataObjectFactory.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7221116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档