Java Spring集成测试绑定器无法重载默认绑定器
我正试图利用实现一个基本的单元测试,使用推荐的基于JVM代理的Spring集成 这是一个基于gradle的项目,因此我将maven依赖声明翻译为:Java Spring集成测试绑定器无法重载默认绑定器,java,spring,spring-cloud-stream,spring-cloud-stream-binder-kafka,Java,Spring,Spring Cloud Stream,Spring Cloud Stream Binder Kafka,我正试图利用实现一个基本的单元测试,使用推荐的基于JVM代理的Spring集成 这是一个基于gradle的项目,因此我将maven依赖声明翻译为: testImplementation 'org.springframework.cloud:spring-cloud-stream:3.0.7.RELEASE:test-binder' 处理器本身是直接的,获取原始对象并将其转换为规范化对象。虽然尚未实现适当的测试,但处理器的输出与预期一致: @SpringBootApplication publi
testImplementation 'org.springframework.cloud:spring-cloud-stream:3.0.7.RELEASE:test-binder'
处理器本身是直接的,获取原始对象并将其转换为规范化对象。虽然尚未实现适当的测试,但处理器的输出与预期一致:
@SpringBootApplication
public class SpringProcessorApplication {
public static void main(String[] args) {
SpringApplication.run(SpringProcessorApplication.class, args);
}
@Bean
public java.util.function.Function<KStream<String, RawLocationObservation>, KStream<String, NormalizedLocationObservation>> process() {
Logger logger = LoggerFactory.getLogger(SpringProcessorApplication.class);
return input -> input
.mapValues(value -> {
....
测试运行,但似乎没有试图重载默认绑定器加载,因此测试在尝试连接到localhost:9092(或application.yml中配置的任何内容)上不存在的代理时超时
我需要做什么来确保加载了测试绑定而不是默认绑定
@SpringBootTest
class SpringProcessorApplicationTests {
@Test
public void sampleTest() {
try (ConfigurableApplicationContext context = new SpringApplicationBuilder(
TestChannelBinderConfiguration.getCompleteConfiguration(
SpringProcessorApplication.class))
.run("--spring.cloud.function.definition=process")) {
InputDestination source = context.getBean(InputDestination.class);
OutputDestination target = context.getBean(OutputDestination.class);
RawLocationObservation raw = new RawLocationObservation(...);
source.send(MessageBuilder.withPayload(raw).build());
assertNotNull(target.receive().getPayload());
}
}