代码之家  ›  专栏  ›  技术社区  ›  Jordi

Spring引导测试:等待微服务调度任务

  •  0
  • Jordi  · 技术社区  · 7 年前

    我正在测试一个试图与另一个进行通信的服务。

    其中一个会生成存储在内存中的审计室,直到计划任务在redis节点上刷新它们:

    @Component
    public class AuditFlushTask {
    
        private AuditService auditService;
    
        private AuditFlushTask(AuditService auditService) {
            this.auditService = auditService;
        }
    
        @Scheduled(fixedDelayString = "${fo.audit-flush-interval}")
        public void flushAudits() {
            this.auditService.flush();
        }
    
    }
    

    另一方面,该服务提供了一个端点,用于提供以下内容:

    public Collection<String> listAudits(
    ) {
        return this.boService.listRawAudits(deadlineTimestamp);
    }
    

    问题是我正在构建一个集成测试,以检查这个过程是否正确,我的意思是,是否提供了良好的审计。

    所以,我不知道如何“等到审核在微服务上刷新”。

    有什么想法吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Heuriskos    7 年前

    不要测试框架:Spring几乎肯定有测试固定延迟的测试。

    相反,将所有逻辑都保存在服务本身中,并将其与Spring隔离进行集成测试 @Scheduled 作用