Я написал несколько тестовых случаев.
@ExtendWith(SpringExtension.class)
@ComponentScan({"net.company.*"})
@EnableConfigurationProperties(value = {TestPropertiesConfig.class})
@ActiveProfiles("dev")
public class PhoneServiceUnitTest{
@Autowired
PhoneService phoneService;
@Test
public void callPhoneTest(){
String result = phoneService.call("siva");
Assert.assertEquals(result,"good");
}
}
У меня также есть одна реализация класса Service.
@Profile("dev")
Class PhoneServcieImp implements PhoneService{
@Value${siva.phone.name}
private String owner;
public String call(String name){
if(name.equals(owner){
return "pass";
}else{return "fail";}
}
}
Для класса обслуживания я дам атрибуты, используя файл свойств.
Для тестирования я также дал свойства, использующие этот файл. Я хочу настроить свойства внутри тестового каталога. Для этого я написал один класс TestPropertiesConfig
@Configuration
public class TestPropertiesConfig {
@Bean
public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[]{new ClassPathResource("test-phone.properties")};
pspc.setLocations(resources);
pspc.setIgnoreUnresolvablePlaceholders(true);
return pspc;
}
}
Когда я запускаю тесты, у меня появляется ошибка, например, не удалось загрузить контекст приложения. С моим пониманием я понял, что файл свойств не загружен.