【发布时间】:2021-10-30 03:45:15
【问题描述】:
我正在尝试一些可能被误导的事情,但请帮忙。
我想通过@WebFluxTest 测试springboot 控制器。但是我想使用WebClient 而不是WebTestClient。如何做到这一点?
到目前为止,我设法使用反射从 WebTestClient 中获取 ExchangeFunction 并将其分配给 WebClient - 它有效!拨打电话,控制器响应 - 太棒了。但是我认为这不是一个好方法。有没有更好的办法?
谢谢。
【问题讨论】:
-
为什么不想使用专为测试而设计的
WebTestClient? -
长话短说:我们在内部构建并包含客户服务。客户端也应该被测试。集成测试目前不是一种选择(管道不允许这样做)。 P.S:我们曾经使用DropWizard框架,上面的场景很容易用2行代码完成。
-
使用
WebClient.Builder创建一个并使用spring boot的自动配置。我仍然不明白为什么你想做的事情不能用WebTestClient完成,它只是WebClient的包装。 -
@M. Deinum,你介意举个例子吗。我是 Spring 和 Springboot 的新手。目前正在将服务从 Dropwizard 迁移到 Springboot。
-
P.S:我很乐意私下进一步讨论这个问题。如果您的好奇心占上风,请告诉我。
标签: spring spring-boot unit-testing spring-webclient