在我的春天开机测试我使用2种不同预选赛模拟豆类:
@RunWith(SpringRunner.class)
@SpringBootTest
class HohoTest {
@MockBean @Qualifier("haha") IHaha ahaha;
@MockBean @Qualifier("hoho") IHaha ohoho;
}
因为我没有使用这些豆子明确,我宁愿将它们移动远离类机构,作为@MockBean
注释现在是重复的:
@RunWith(SpringRunner.class)
@SpringBootTest
@MockBean(IHaha.class)
@MockBean(IHaha.class)
class HohoTest {}
不过,我需要在一个限定通过为好,因为它们具有相同的类型。我如何能做到这一点任何想法?
当在类级别声明@MockBean
,目前提供一个限定词的支持。
如果你想有这样的支持,我建议你request it in the Spring Boot issue tracker。
否则,你将需要继续沿着@MockBean
领域宣布@Qualifier
。
如果它是好的,完全移动模拟定义了测试类的,你也可以创建一个单独的@Configuration
类的嘲笑:
@Configuration
public class MockConfiguration
{
@Bean @Qualifier("haha")
public IHaha ahaha() {
return Mockito.mock(IHaha.class);
}
@Bean @Qualifier("hoho")
public IHaha ohoho() {
return Mockito.mock(IHaha.class);
}
}