Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在twitter4j中创建模拟状态对象?_Java_Twitter_Twitter4j - Fatal编程技术网

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

Java 如何在twitter4j中创建模拟状态对象?,java,twitter,twitter4j,Java,Twitter,Twitter4j,我正在使用twitter4j开发StatusListener类,需要一种方法来创建一个 模拟状态对象,以便我可以测试我的类。我不想非得这么做 在我开发时实际连接到API 有没有办法从json字符串创建状态对象?我只是想 要从Twitter下载一个状态,请将其保存为字符串并 然后在开发过程中重用它来创建状态对象 有人能告诉我怎么做吗?让我们连接并下载一个状态,然后通过序列化保存它 要创建自己的对象,请使用StatusJSONImpl类并使用twitter4j.internal.org.jso

我正在使用twitter4j开发StatusListener类,需要一种方法来创建一个 模拟状态对象,以便我可以测试我的类。我不想非得这么做 在我开发时实际连接到API

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


有人能告诉我怎么做吗?

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




要创建自己的对象,请使用
StatusJSONImpl
类并使用
twitter4j.internal.org.json.JSONObject
根据使用类似的模拟测试框架实际创建模拟
Status
对象

只要您确切地知道
Status
对象应该返回什么,那么这将是一种不需要连接到twitterapi的方法

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

通过Mockito,我们可以做到以下几点:

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);
}

使用
DataObjectFactory.createStatus(String rawJSON)
方法


有关详细信息,请参阅。

注意,这已被弃用。:

Status status = DataObjectFactory.createStatus();
而是使用:

Status status = TwitterObjectFactory.createStatus(String rawJson);

我可以从Twitter API url使用浏览器从Twitter API下载状态。它已经是json格式的,所以它已经是一个字符串了。我所需要的只是如何从json字符串创建twitter4j状态对象。该对象的所有方法现在都已被弃用,您可以使用它们来代替TwitterObjectFactory.createStatus(string rawJson)