Используйте @Profile, чтобы решить выполнить тестовый класс
Согласно /questions/7042223/kak-ya-mogu-ispolzovat-ifprofilevalue-dlya-proverki-aktivnosti-profilya/7042228#7042228 мы не должны использовать @Profile
позволить профилю пружины решить, должны ли все тесты в классе испытаний выполняться или игнорироваться.
Там заявлено:
@Profile
используется для выборочного включения компонента (например,@Service
, так далее.),@Configuration
класс или@Bean
метод, если один из именованных профилей определения компонента активен в среде Spring для ApplicationContext. Эта аннотация не имеет прямого отношения к тестированию:@Profile
не должен использоваться на тестовом классе.
Это правда? Если да, то почему?
1 ответ
Это правда, потому что @Profile
воздействует на компоненты Spring и не подключается к тестовой среде.
Тем не менее, вы можете иметь тестовый профиль, который будет загружать компоненты Spring (как классы конфигурации) при запуске тестов
Пример тестового класса с профилем:
// load related configuration classes
@ContextConfiguration(classes = { TestConfiguration.class })
@ActiveProfiles(profiles = { "testing" })
public class MyTest extends AbstractTestNGSpringContextTests {