首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将org.json4s.JValue封装在org.asynchttpclient.Response中

如何将org.json4s.JValue封装在org.asynchttpclient.Response中
EN

Stack Overflow用户
提问于 2022-09-22 11:42:25
回答 1查看 17关注 0票数 0

我正在重构以前将响应解析为org.json4s.JValue的一些测试

我希望将响应作为输入参数传递为org.asynchttpclient.Response类型。以区分HTTP代码状态。

NettyResponseWebDavResponseorg.asynchttpclient.Response的实现。

如何将org.json4s.JValue封装到org.asynchttpclient.Response的主体中?

EN

回答 1

Stack Overflow用户

发布于 2022-09-26 19:36:17

无法设置实例数据时的关键解决方案。Mock他们

在这里,我用莫基托。添加依赖项

代码语言:javascript
复制
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>x.x.x</version>
      <scope>test</scope>
    </dependency>

在斯卡拉

代码语言:javascript
复制
import org.junit.Test
import org.mockito.Mockito
import org.mockito.Mockito.when

  @Test
  def GivenXThenAssert(): Unit = {

    val jsonStringResponse: String = ""
    // instantiate the class Response
    val httpResponse = Mockito.mock(classOf[org.asynchttpclient.Response])
    // stub the implementation method
    when(httpResponse.getResponseBodyAsStream()).thenReturn(new ByteArrayInputStream(jsonStringResponse.getBytes(StandardCharsets.UTF_8)))

    // THEN
    //
    val processedResponse = process(httpResponse)
    assertEquals(....)
    }

注意,我使用了getResponseBodyAsStream方法。为什么不再来一次?因为断言了函数,所以process调用了前面的方法。

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

https://stackoverflow.com/questions/73814024

复制
相关文章

相似问题

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