spring-boot - 带有 spring boot 石英调度器的控制器 - 集成测试
问题描述
我必须在使用石英调度程序的控制器上执行集成测试,但我不知道如何执行测试。我已经搜索了互联网,我已经看到了如何制作一个石英模拟,但我不知道如何测试我的控制器,它用石英安排事件。知道我该怎么做吗?
控制器:
@PostMapping(path="/event/{id}")
public ResponseEntity<?> processEvent (@Parameter(description = "Identifier of the event")
@PathVariable(name = "id", required = true) String id) {
response = schedulerService.processEvent(id);
服务实现:
try {
JobDetail jobDetail = buildJobDetail(id);
Trigger trigger = buildJobTrigger(jobDetail, zonedDateTime);
scheduler.scheduleJob(jobDetail, trigger);
response.setMsg("Scheduler created");
}
当前测试(设计不佳,因为使用“job-store-type:jdbc”属性,它需要oracle才能工作,我需要它不依赖oracle进行测试)
public void testPostEvent() {
ResponseEntity<String> responseEntity = this.restTemplate
.postForEntity("http://localhost:" + port + "/event/event005", null, String.class);
assertEquals(200, responseEntity.getStatusCodeValue());
}
解决方案
推荐阅读
- c# - 在云端投票
- python - 如何使用 OpenCV 找到对象的角?
- javascript - 为多个 Owl Carousel 创建计数器
- scala - 在 Spark 2.3 中运行多个 cassandra 查询并在一个 RDD 中得到结果
- java - Systemctl 文件无法获取 AWS 凭证
- android - 如何从 Samsung Health android SDK 读取心率
- python - 使用 python mmap 强制 32 位访问?
- javascript - jQuery单击事件在Thymeleaf上不起作用
- javascript - 反应 | 带有 Typecript 下拉菜单的可重用下拉组件不起作用
- typescript - 打字稿属性不存在