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