VS-Spring Webflux对比Spring Web

Spring Webflux和Spring Web是两个完全不同的Web栈。 然而, Spring Webflux继续支持基于注解的编程模型

使用这两个堆栈定义的端点可能看起来相似,但测试这种端点的方式是相当不同的,写这样一个端点的用户必须知道哪个堆栈处于活动状态并据此制定测试。

样品端点

考虑一个基于示例注释的端点:


 

使用Spring Web进行测试

如果Spring Boot 2启动器用于使用Spring Web作为启动器创建此应用程序,则按以下方式使用Gradle构建文件指定:

 

那么这样一个端点的测试将会使用一个Mock web运行时,被称为Mock MVC :


 

使用Spring Web-Flux进行测试

另一方面,如果Spring-Webflux初学者被拉入,比如说下面的Gradle依赖关系:

 

那么这个端点的测试将使用优秀的WebTestClient类,沿着这些线:


 

结论

很容易假设,因为使用Spring Web和Spring Webflux堆栈的编程模型看起来非常相似,使用Spring Web进行这种传统测试的测试将继续到Spring Webflux,但事实并非如此,因为我们的开发人员注意潜在的堆栈,并据此制定测试。 我希望这篇文章能够阐明如何制定这样的测试。

原创于 【模棱博客】