如何在 twitter4j 中创建模拟 Status 对象?
我正在使用 twitter4j 并开发 StatusListener 类,需要一种方法来创建一个 模拟 Status 对象,以便我可以测试我的类。我不想必须 在我开发时实际连接到 API。
有没有办法从 json 字符串创建 Status 对象?我只想 要从 Twitter 下载一个状态,请将其作为字符串保存在某处,然后 然后在我开发时重用它来创建 Status 对象。
有人可以告诉我该怎么做吗?
I am using twitter4j and developing StatusListener class and need a way to just create a
mock Status object so I can test my class. I don't want to have to
actually connect to the API while I am developing.
Is there a way to create a Status object from json string? I just want
to download one status from Twitter, save it somewhere as a string and
then reuse it to create Status object while I'm developing.
Can someone tell me how to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一种选择是使用模拟测试框架(如 Mockito)实际创建模拟
Status
对象。只要您确切知道
Status
对象应返回什么,那么这将是一种不需要与 Twitter API 进行任何连接的方法。举例来说,我们有一个
YourClass.extractStatusText
方法,它将从Status
对象中提取状态文本并返回。使用 Mockito,我们可以执行以下操作:
One option is to actually create a mock
Status
object using a mock testing framework like Mockito.As long as you know exactly what the
Status
object should return, then this would be one method which would not require any connection to the Twitter API.Let's say for example that we have a
YourClass.extractStatusText
method which will extract the status text from aStatus
object and return that.With Mockito, we could do the following:
连接并下载一种状态,然后通过序列化
http://java.sun 保存它。 com/developer/technicalArticles/Programming/serialization/
http://twitter4j.org/en/javadoc/twitter4j/Status.html
http://twitter4j.org/en/javadoc/twitter4j/StatusJSONImpl.html
要创建自己的对象,请使用
StatusJSONImpl
类,并根据 使用twitter4j.internal.org.json.JSONObject
提供构造函数href="http://twitter4j.org/en/javadoc/twitter4j/StatusJSONImpl.html#StatusJSONImpl%28twitter4j.internal.org.json.JSONObject%29" rel="nofollow">构造函数文档Let connect and download one status, then save it via Serializing
http://java.sun.com/developer/technicalArticles/Programming/serialization/
http://twitter4j.org/en/javadoc/twitter4j/Status.html
http://twitter4j.org/en/javadoc/twitter4j/StatusJSONImpl.html
to create own Object use
StatusJSONImpl
class and feed constructor withtwitter4j.internal.org.json.JSONObject
according to constructor documentation使用 DataObjectFactory.createStatus(String rawJSON) 方法。
请参阅 http://twitter4j.org/en/javadoc/twitter4j/json/DataObjectFactory。 html 了解详细信息。
Use the
DataObjectFactory.createStatus(String rawJSON)
method.See http://twitter4j.org/en/javadoc/twitter4j/json/DataObjectFactory.html for details.
注意这是已弃用:
而是使用:
ATTENTION this is deprecated:
Instead use: