在Play测试中,可以通过以下步骤从基于InputStream的结果中获取内容:
play.test.Helpers
类中的route
方法发送请求,并使用contentAsBytes
方法获取响应的内容。
import play.test.Helpers;
import play.mvc.Result;
import java.io.InputStream;
// ...
public class MyTest {
@Test
public void testGetContentFromInputStream() {
// 发送请求并获取响应
Result result = Helpers.route(app, request);
// 获取响应的InputStream
InputStream inputStream = result.body().asInputStream();
// 从InputStream中获取内容
// ...
}
}
BufferedReader
、Scanner
、InputStreamReader
等类来读取内容。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
// ...
public class MyTest {
@Test
public void testGetContentFromInputStream() throws IOException {
// 发送请求并获取响应
Result result = Helpers.route(app, request);
// 获取响应的InputStream
InputStream inputStream = result.body().asInputStream();
// 从InputStream中获取内容
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder content = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
content.append(line);
}
// 打印获取到的内容
System.out.println(content.toString());
}
}
通过以上步骤,可以在Play测试中从基于InputStream的结果中获取内容。根据具体的业务需求,可以进一步处理获取到的内容,例如解析JSON、XML等格式的数据,或者进行其他的业务逻辑操作。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体选择产品时需要根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云