0

我想为我的配置服务器编写单元/集成测试,所以我检查了这个链接。有一个用 注释的类,还有一个用注释@SpringBootTest的函数。为什么需要这个函数,因为有注释?startConfigServer()@BeforeClass@SpringBootTest

我还可以为配置服务器编写哪些其他单元测试用例和集成测试?我还在使用 Spring Cloud Stream Kafka 和 Spring Cloud Bus,同时启用了 Spring Security 基本身份验证。

4

1 回答 1

1

Spring-cloud-bus是一种让多个应用节点进行通信的机制,提供了广播事件的能力。
这种通信到位,应用程序可以使用它,例如,以动态方式从配置服务器获取配置(配置更改将导致广播适当的事件)。

因此,在测试这样的应用程序时,测试必须首先提供一个配置服务器来获取配置,因此是startConfigServer()您链接的示例中的方法。

Spring 博客引用spring-cloud-stream-test-support来简化对这种消息传递抽象的测试,但我自己没有使用过。

但是,另一种测试方法是模拟对此配置服务器的所有访问(通过HTTPspring-cloud-stream底层代理)。

这是所有模拟内容的示例(使用 RabbitMQ,但想法与 Kafka 相同)。

测试配置服务器正好相反(修改配置文件并断言消息已在底层代理上发布)。

作为记录,我不确定spring-cloud-bus是否可以与 Kafka 一起使用,因为官方文档说只支持 AMQP (0.9):https ://spring.io/projects/spring-cloud-bus

于 2018-12-08T21:48:36.040 回答