在我的Spring Boot Web应用程序的服务层上,我有一个服务接口,有几个方法和两个实现bean。
interface VehicleService { }
@Service
class CarServiceImpl implements VehicleService {}
@Service
class BycicleServiceImpl implements VehicleService {}
我已为其中一项服务生成单元测试
@RunWith(SpringRunner.class)
public class CarServiceTest {
@TestConfiguration
static class VehicleServiceTestContextConfiguration {
@Bean
public VehicleService vehicleService() {
return new CarServiceImpl();
}
}
@Autowired
private VehicleService vehicleService;
@Test
public void getCar() throws Exception {
//tests here with CarServiceImpl object
}
}
当我想运行测试BicycleServiceImpl
bean时,我将不得不复制并粘贴同一个类,并将@Bean
更改为返回BicycleServiceImpl
,这似乎不是最佳解决方案。有什么方法可以两次运行相同的测试类并逐个注入每个bean。任何建议都将不胜感激。