我最近加入了一个有一些严重 JUnit 测试问题的小组。一个问题是 8 分钟的测试!测试有几个部分;每个人都会调用 org.springframework.context.ApplicationEventPublisher.publishEvent(),然后是不同时间的 Thread.sleep(),然后测试条件。
这种方法有几个明显的问题,Thread.sleep() 调用的时间很脆弱:
在繁忙的机器上测试偶尔会失败;和
当测试没有失败时,测试花费的时间太长了。
处理这些事件的池是否可用于测试,是否有调用以查看事件级联是否已停止?