java8 elasticsearch_java – Elasticsearch – Junit测试(模拟或填...
我使用Elastic 6.2,SpringBoot,Java 8.
@RestController
@Log4j2
@AllArgsConstructor
@RequestMapping("/api/logs")
public class ElasticRestController {
@PostMapping("/search")
public GenericResponse> findLogs(@RequestBody ESLogRequestDTO esLogRequest,
Pageable pageable) throws NoConnectionException {
SearchResponse searchResponse = elasticUIService.
findLogsByParameters(esLogRequest, pageable);
return GenericResponse.
success(convertToStandardResponse(searchResponse.getHits(), pageable));
}
}
这里是JUnit控制器测试,在json(searchRequest)中有一些填充请求:
@WebMvcTest(
value = ElasticRestController.class,
secure = false
)
public class ElasticRestControllerTest extends AbstractControllerTest {
private static final String CONTENT_TYPE = "application/json;charset=UTF-8";
@MockBean
private ElasticUIService elasticUIService;
@MockBean
private ElasticsearchService elasticsearchService;
@Autowired
private ElasticRestController elasticRestController;
@Autowired
private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter;
@Autowired
private MockMvc mockMvc;
@Rule
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation();
@Before
public void before() {
mockMvc = MockMvcBuilders.standaloneSetup(elasticRestController)
.setCustomArgumentResolvers(new PageableHandlerMethodArgumentResolver())
.setMessageConverters(mappingJackson2HttpMessageConverter)
.apply(MockMvcRestDocumentation.documentationConfiguration(this.restDocumentation))
.build();
}
@Test
public void findLogsByParametersTest() throws Exception {
String searchRequest = "{\n" +
"\t \"levels\": [\"INFO\"],\n" +
" \"module\": \"test module\",\n" +
" \"version\": \"version 1\",\n" +
" \"thread\": \"test thread\",\n" +
" \"requestId\": \"1\",\n" +
" \"message\": \"test message 3\",\n" +
" \"rangeFrom\": \"2018-02-26T07:02:50.000Z\",\n" +
" \"rangeTo\": \"2018-03-05T07:02:50.000Z\",\n" +
" \"node\": \"first node\",\n" +
" \"system\": \"super system 1\",\n" +
" \"header\": \"test\",\n" +
" \"submodule\": \"test submodule\",\n" +
" \"operation\": \"some operation\",\n" +
" \"service\": \"some service\",\n" +
" \"type\": \"some type\",\n" +
" \"metricType\": \"duration\",\n" +
" \"valueFrom\":400,\n" +
" \"valueTo\":600\n" +
"}";
SearchResponse searchResponse = getSearchResponse();
when(elasticUIService.findLogsByParameters(any(ESLogRequestDTO.class),
any(Pageable.class)))
.thenReturn(searchResponse);
mockMvc.perform(post("/api/logs/search")
.contentType(CONTENT_TYPE)
.content(searchRequest)
.accept(CONTENT_TYPE)
)
.andDo(document(CLASS_NAME_METHOD_NAME))
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
}
public SearchResponse getSearchResponse() {
SearchResponse searchResponse = new SearchResponse();
return searchResponse;
}
}
我不明白我如何用一些数据来模拟填充SearchResponse.有人有经验吗?也许有一些方法可以通过像searchRequest这样的json数据填充它?
java8 elasticsearch_java – Elasticsearch – Junit测试(模拟或填...相关推荐
- JUnit测试模拟JoinPoint
今天的积累都是为了更好的明天,加油!我是java程序员可以关注我一起学习哈! JUnit测试模拟JoinPoint: /** * Pointcut that matches all Spring b ...
- Junit测试JAVA文件,java – Junit测试模拟文件操作
我有一段类似于下面的代码,我被要求进行Junit测试.我们正在使用Junit,EasyMock和Spring Framework.我没有做过多少Junit测试,而且我对如何模拟下面的内容感到有点迷茫. ...
- tdd java_适用于Idea的面向现代TDD的Java 8 JUnit测试模板(带有Mockito和AssertJ)
tdd java 使用类似于BDD的语法,Java 8和Mockito-AssertJ二重奏为Idea调整JUnit测试类模板. 本文涵盖的主题似乎很简单. 但是,根据我的培训师经验,我知道(不幸的) ...
- 适用于Idea的面向现代TDD的Java 8 JUnit测试模板(带有Mockito和AssertJ)
使用类似BDD的语法,Java 8和Mockito-AssertJ二重奏为Idea调整JUnit测试类模板. 本文涵盖的主题似乎很简单. 但是,根据我的培训师经验,我知道(不幸的是)这不是常见的做法. ...
- android用什么测试类,android – 使用firebase对类进行JUnit测试
我正在尝试JUnit测试这个类: public class WeekListActivity extends AppCompatActivity implements AdapterView.OnIt ...
- junit测试起名字规则_如何在JUnit 5中替换规则
junit测试起名字规则 最近发布的JUnit 5(又名JUnit Lambda) alpha发行版引起了我的兴趣,在浏览文档时,我注意到规则以及运行程序和类规则都消失了. 根据文档,这些部分竞争的概 ...
- maven junit测试_使用Maven Failsafe和JUnit @Category将集成测试与单元测试分开
maven junit测试 为什么单元测试应与集成测试分开运行 单元测试级别的TDD相当简单,因为单元测试中的类要么没有复杂的依赖关系,要么使用模拟框架(例如Mockito)来模拟依赖关系. 但是,当 ...
- junit 测试mvc_Spring MVC控制器JUnit测试
junit 测试mvc JUnit测试Spring MVC控制器并非易事 . 但是最近,一个新项目 (即将在Spring推出)提供了新的工具来简化此工作. 这篇文章说明了如何通过JUnit测试来测试一 ...
- junit4 单元测试框架_超越JUnit –测试框架的替代方案
junit4 单元测试框架 JUnit是事实上的Java单元测试框架,但是可能有一些新的(不是那么新的)框架可以用于Web开发. 在采用之前可能要问自己的问题: 它们是否快速,容易开发并因此成本低廉? ...
最新文章
- 如何用asp.net向其他服务器post一条信息
- sqlhelper使用指南
- python2中为什么在进行类定义时最好要加object
- mysql 回收空间_MySQL表的碎片整理和空间回收小结
- 【AGC035C】Skolem XOR Tree【异或】【构造】
- EasyExcel(笔记)
- nfc卡模式与标准模式_张家口市环卫进入首都标准“京环模式”
- 使用ant design vue 中table组件运行时not found: Error: Can't resolve 'reqwest' in 'D:\vue\antd-demo01\src\com
- vscode linux新建c语言,Ubuntu16.04下配置VScode的C/C++开发环境
- 设计模式(读书笔记)
- c语言随机抽取小程序_c++ c语言编写抽学号小程序
- Linux基础(8)Linux常用网络命令
- 单片机程序配置成开漏输出_单片机的GPIO配置
- linux at任务不运行,linux中at的使用-计划任务
- dax-自定义周做同比和环比
- 如何修改pdf文件内容并保存
- 新闻传播专业的本科毕业论文,有哪些比较好的选题?
- Java 实现分页功能
- 置信度,置信区间,区间估计
- 软件测试周刊(第43期):如果你过普通生活过了很久,只要你稍微努点力,你就以为拼尽了全力,其实不是的。