0

尝试使用 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) 像这些

4

0 回答 0