使用mockito模拟合格的bean用于spring-boot应用程序

考虑我的情景

public class SomeClass {
  @Autowired @Qualifier("converter1") private IConverter converter1;
  @Autowired @Qualifier("converter2") private IConverter converter2;

  public void doSomeAction(String mimeType) {
    converter1.execute();
    converter2.execute();
  }
}

这是我的代码.

为了测试这个

@RunWith(MockitoJUnitRunner.class)
public class SomeClassTest {
  @Mock(name="converter1") IConverter converter1;
  @Mock(name="converter2") IConverter converter2;
  @InjectMocks SomeClass class = new SomeClass();
  @Test
  public void testGetListOfExcelConverters() throws Exception {
    class.doSomeAction("abcd");
  }
}

这里的模拟没有注入,请帮助模拟合格的bean的正确机制.

如果这不是使用spring编码的正确方法,请告诉我使用它的正确方法.

解决方法:

您可以使用测试配置来模拟bean:

@Configuration
public class TestConfig {
   @Bean
   public MyService myService() {
      return Mockito.mock( MyService.class );
   }
}
上一篇:java – 我可以只使用powermock mockito junit来模拟一些静态方法吗?


下一篇:如何在Java中的同一测试中使用多个端点模拟REST服务器?