春季启动:如何配置自动连接的WebTestClient

时间:2019-06-06 07:09:53

标签: spring spring-boot testing integration-testing

Spring Boot中是否有任何属性可用于配置@Autowired WebTestClient?例如,如何在WebTestClient上设置servlet上下文路径(或仅为此设置一些基本路径)?

以下是我的网络测试的配置方式:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@ActiveProfiles("test")
public class MyTestClass{

  @Autowired
  private WebTestClient cl;

  //the rest of it
}

换句话说,Spring Boot等同于

WebTestClient client = WebTestClient.bindToServer()
    .baseUrl("http://localhost:<random port>/myServletContext").build();

我在文档中没有发现任何有用的信息: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

2 个答案:

答案 0 :(得分:1)

使用当前应用程序上下文构建webTestClient,无需对uri和端口号进行硬编码

    @Autowired
    ApplicationContext context;

    @Autowired
    WebTestClient webTestClient;

    @Before
    public void setup() throws Exception {

        this.webTestClient = WebTestClient.bindToApplicationContext(this.context).build();
    }

答案 1 :(得分:0)

您可以使用server.servlet.context-path=/myServletContextPath之类的东西。