我正在重构一些测试,在此之前,响应被解析为org.json4s.JValue我希望将响应作为org.asynchttpclient.Response类型作为输入参数进行传递。以区分HTTP代码状态。NettyResponse和WebDavResponse是org.asynchttpclient.Response的实现。如何将org.json4s.JValue包裹到org.asynchttpclient.Response的体内?
org.json4s.JValue
org.asynchttpclient.Response
NettyResponse
WebDavResponse
70gysomp1#
无法设置示例数据时的关键解决方案。模拟它们。这里,我用的是Mockito。添加依赖项
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>x.x.x</version> <scope>test</scope> </dependency>
在Scala中
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。为什么不再来一次呢?因为Assert函数process调用了前面的方法。
getResponseBodyAsStream
process
1条答案
按热度按时间70gysomp1#
无法设置示例数据时的关键解决方案。模拟它们。
这里,我用的是Mockito。添加依赖项
在Scala中
请注意,我截断了方法
getResponseBodyAsStream
。为什么不再来一次呢?因为Assert函数process
调用了前面的方法。