尝试使用 mockito 在 spring 集成中测试网关,但在自动装配网关时它始终为空。
我正在使用注释来创建编写测试用例的上下文,但是模拟和注释都工作得很奇怪。没有得到任何支持或基本了解这里出了什么问题。
任何人都可以建议一种简单的方法或如何测试从网关开始的 Spring 集成流程。由于网关的值在测试中对我来说是空的。
我们使用 java 注释来定义 spring 集成流程,如下所示:
公共类集成Flow()
{
@MessagingGateway
public interface EnterHere{
@Gateway(requestChannel = "requestChannel")
void process(DtoObject dtoObject)
}
@Bean
public IntegrationFlow myFlow() {
return IntegrationFlows.from(requestChannel)
.filter()
//... its a big flow with lot of interactions
.get();
}
}
我编写了一个测试用例,它将创建一个具有默认值的对象,该对象将传递给 dto 并触发 spring 集成的流程。我想在这里使用 mockito,因为项目中有很多依赖项。
我在用
@Autowired
private EnterHere enterhere
在我正在定义的测试用例的上下文配置中
@MessagingGateway
public interface EnterHere{
@Gateway(requestChannel = "requestChannel")
void process(DtoObject dtoObject)
}
但是在测试用例中
@Test
public void testGateway(){
enterHere.process(this.dtoObjectMock)
// i am always getting a null value at this enterhere.
}
我们没有使用 Spring boot ,我们正在使用 Mockito 注释,@Mock 和 @InjectMocks ,@Runwith(MockitoJunit4Runner.class) 像这些