我想为我的配置服务器编写单元/集成测试,所以我检查了这个链接。有一个用 注释的类,还有一个用注释@SpringBootTest
的函数。为什么需要这个函数,因为有注释?startConfigServer()
@BeforeClass
@SpringBootTest
我还可以为配置服务器编写哪些其他单元测试用例和集成测试?我还在使用 Spring Cloud Stream Kafka 和 Spring Cloud Bus,同时启用了 Spring Security 基本身份验证。
我想为我的配置服务器编写单元/集成测试,所以我检查了这个链接。有一个用 注释的类,还有一个用注释@SpringBootTest
的函数。为什么需要这个函数,因为有注释?startConfigServer()
@BeforeClass
@SpringBootTest
我还可以为配置服务器编写哪些其他单元测试用例和集成测试?我还在使用 Spring Cloud Stream Kafka 和 Spring Cloud Bus,同时启用了 Spring Security 基本身份验证。
Spring-cloud-bus是一种让多个应用节点进行通信的机制,提供了广播事件的能力。
这种通信到位,应用程序可以使用它,例如,以动态方式从配置服务器获取配置(配置更改将导致广播适当的事件)。
因此,在测试这样的应用程序时,测试必须首先提供一个配置服务器来获取配置,因此是startConfigServer()
您链接的示例中的方法。
Spring 博客引用spring-cloud-stream-test-support来简化对这种消息传递抽象的测试,但我自己没有使用过。
但是,另一种测试方法是模拟对此配置服务器的所有访问(通过HTTP和spring-cloud-stream底层代理)。
这是所有模拟内容的示例(使用 RabbitMQ,但想法与 Kafka 相同)。
测试配置服务器正好相反(修改配置文件并断言消息已在底层代理上发布)。
作为记录,我不确定spring-cloud-bus是否可以与 Kafka 一起使用,因为官方文档说只支持 AMQP (0.9):https ://spring.io/projects/spring-cloud-bus