У меня есть Spring Boot 1.4.3 проект. В папке test/resources
у меня есть два файла свойств, скажем a-test.properties
и b-test.properties
.Spring Boot загружает все доступные файлы свойств независимо от моей аннотации @TestPropertySource
Класс тест помечается следующим образом:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(locations = "classpath:a-test.properties")
Однако, я вижу в моем тесте, что и свойства от b-test.properties
нагружены (я проверил это с помощью простого вывода на печать).
Почему? Как я могу это предотвратить?
Пример извлекается из моего теста
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(locations = "classpath:base-test.properties", inheritProperties=false)
public class EmailServiceContextBasedTest {
@SpyBean
public JavaMailSender javaMailSender;
@Before
public void setUp() throws Exception {
System.out.println(
((JavaMailSenderImpl)javaMailSender).getPassword()
);
System.out.println(
((JavaMailSenderImpl)javaMailSender).getJavaMailProperties()
);
}
@Test
public void test() throws Exception {
// do nothing
}
}
, где находится a-test.properties
:
spring.mail.host=smtp.gmail.com
spring.mail.port=587
[email protected]
spring.mail.password=password
spring.mail.properties.mail.smtp.auth=false
spring.mail.properties.mail.smtp.starttls.enable=false
и b-test.properties
spring.mail.host=smtp.gmail.com
spring.mail.port=587
[email protected]
spring.mail.password=myPassword
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Как вы прочитали недвижимость? Можете ли вы добавить код, демонстрирующий поведение, которое вы описываете? – dimitrisli
@ dimitrisli да, конечно! Я прикрепил пример –
@mat_boy Просьба предоставить вывод, который вы получаете, и ожидаемый результат. Ваш пример будет печатать только пароль, связанный с одним из файлов свойств (в моем случае это 'a-test.properties'). Итак, как вы проверили 'то, что загружаются свойства из b-test.properties' ?! – Omid