Fix race condition in SampleQuartzApplicationTests

This commit is contained in:
Andy Wilkinson 2018-01-17 20:56:42 +00:00
parent 87182a3a2b
commit 6fb629227c

View File

@ -36,11 +36,15 @@ public class SampleQuartzApplicationTests {
public OutputCapture outputCapture = new OutputCapture();
@Test
public void test() {
try (ConfigurableApplicationContext context = SpringApplication.run(
SampleQuartzApplication.class)) {
String output = this.outputCapture.toString();
assertThat(output).contains("Hello World!");
public void quartzJobIsTriggered() throws InterruptedException {
try (ConfigurableApplicationContext context = SpringApplication
.run(SampleQuartzApplication.class)) {
long end = System.currentTimeMillis() + 5000;
while ((!this.outputCapture.toString().contains("Hello World!"))
&& System.currentTimeMillis() < end) {
Thread.sleep(100);
}
assertThat(this.outputCapture.toString()).contains("Hello World!");
}
}