spring-boot - junit http get 请求与 csv 列表比较
问题描述
这个请求的目的 - 至少获得一些关于如何做的提示/想法 - java新手 - 新手问题也是如此 -
我想将我的 csv 列与 get 请求的输出相匹配并告诉我 - 匹配所有列或不匹配列 -
@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestApplication.class)
//@WebMvcTest(value = SwProductController.class)
@ActiveProfiles("dev") // In case you want to test a particular profile
@AutoConfigureMockMvc
public class SwProductImplTest
{
@Autowired
private MockMvc mockMvc;
@Test
public void testRetrieveDetails() throws Exception {
String filesss = "csv--file--path";
JSONArray expected = new JSONArray(Files.readAllLines(Paths.get(filesss))
.stream()
.map(s -> new yourJson(s.split(",")[0], s.split(",")[1]))
.collect(toList()));
RequestBuilder requestBuilder = MockMvcRequestBuilders
.get("/swproduct/list")
.accept(MediaType.APPLICATION_JSON);
MvcResult result = mockMvc.perform(requestBuilder).andReturn();
//System.out.println(result.getResponse());
JSONAssert.assertEquals(result.getResponse().getContentAsString(), expected, false);
}
private class yourJson {
String s;
String s1;
public yourJson(String s, String s1) {
this.s = s;
this.s1 = s1;
}
}
}
获取请求的输出如下所示 - get-request
.csv 文件 -
sw product,sw product module,technology
Product 1,Module 1,REGULAR
Product 1,Module 2,SPRING CLOUD
Product 2,Module 1,REGULAR
Product 2,Module 3,REGULAR
解决方案
两个数据都是相同的,但唯一的区别是您的输出是 JSON 格式,而您发布的示例是表格形式。两者都可以正常工作
推荐阅读
- python - 如何在 Python 中将列表项分组为顺序元组?
- mysql - 如何合并临时表中所有值的过程值?
- python-3.x - 绑定魔法方法似乎不再适用于 python 3
- sql - 为什么所有记录都没有通过 SQL 中的数据库进程从一个数据库获取到另一个数据库?
- apache-spark - 找不到 LoginModule 类:org.apache.kafka.common.security.plain.PlainLoginModule
- c# - 如何与包含使用 c++ 程序和 c# 程序创建的 time_t 类型的结构共享内存映射文件?
- python-3.x - 我正在使用 Azure Microsoft 进行 text_to_text 翻译,但它会抛出错误,例如提供有效凭据
- c++ - 基于指针类型的模板函数重载?
- r - R中“合并”方法的Python等价物是什么
- sql - SQL Server:用 0 填充不存在的行的 MAX(column) 值