Используйте @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 {
Другие вопросы по тегам