春季启动测试:等待微服务调度任务

时间:2019-01-30 08:29:42

标签: spring spring-boot spring-boot-test

我正在尝试测试一种试图与其他人通信的服务。

其中一个会生成听觉,这些听觉会存储在内存中,直到调度的任务将它们刷新到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 个答案:

答案 0 :(得分:0)

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

相反,请将所有逻辑保留在服务本身内,并进行集成测试,使其与Spring @Scheduled函数隔离。