首页 文章

为什么spring-cloud-config示例测试需要旋转配置服务器?

提问于
浏览
0

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

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

1 回答

  • 0

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

    因此,在测试此类应用程序时,测试必须首先提供 configuration-server 以从中获取配置,因此您链接的示例中的 startConfigServer() 方法 .

    Spring blog引用 spring-cloud-stream-test-support 以简化对此消息传递抽象的测试,但我自己没有使用它 .

    但是,另一种测试方法是模拟对此 configuration-server 的所有访问(通过 HTTPspring-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

相关问题