title: Unable to start ReactiveWebApplicationContext due to missing ReactiveWebServerFactory bean
body: <p>I have a new springboot application I am attempting to get started.</p>
  
  <p>The error I receive is</p>
  
  <pre><code>org.springframework.context.ApplicationContextException: Unable to start reactive web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ReactiveWebApplicationContext due to missing ReactiveWebServerFactory bean.
      at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.onRefresh(ReactiveWebServerApplicationContext.java:76) ~[spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
  </code></pre>
  
  <p><strong>src/main/java/bubbleshadow/RootController.java</strong></p>
  
  <pre><code>package bubbleshadow;
  
  import org.springframework.http.HttpStatus;
  import org.springframework.web.bind.annotation.GetMapping;
  import org.springframework.web.bind.annotation.RestController;
  import reactor.core.publisher.Mono;
  
  @RestController
  public class RootController {
    public RootController() {
  
    }
  
    @GetMapping("/")
    public Mono&lt;HttpStatus&gt; returnOk() {
      return Mono.just(HttpStatus.OK);
    }
  }
  </code></pre>
  
  <p><strong>src/test/java/test/bubbleshadow/RootControllerTest.java</strong></p>
  
  <pre><code>package test.bubbleshadow;
  import bubbleshadow.RootController;
  
  import org.junit.jupiter.api.Test;
  import org.junit.jupiter.api.extension.ExtendWith;
  import org.springframework.beans.factory.annotation.Autowired;
  // import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
  import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
  import org.springframework.test.web.reactive.server.WebTestClient;
  import org.springframework.boot.test.context.SpringBootTest;
  import org.springframework.test.context.junit.jupiter.SpringExtension;
  import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
  
  @ExtendWith(SpringExtension.class)
  @SpringBootTest(classes=RootController.class, webEnvironment = WebEnvironment.RANDOM_PORT)
  @AutoConfigureWebTestClient
  public class RootControllerTest {
    @Autowired
    WebTestClient webTestClient;
  
    @Test
    public void baseRouteShouldReturnStatusOK() {
      webTestClient.head().uri("/").exchange().expectStatus().isOk();
    }
  }
  </code></pre>