1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chanjarster-spring-test-examples

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
chapter_2_s2_active_profile.md 3.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 23:55 3b54fb2

Глава 2: Аннотации — @ActiveProfiles

@ActiveProfiles можно использовать для включения определённых профилей Bean во время тестирования. В тестовом коде этой главы используется следующая конфигурация:

@Configuration
public class Config {

  @Bean
  @Profile("dev")
  public Foo fooDev() {
    return new Foo("dev");
  }

  @Bean
  @Profile("product")
  public Foo fooProduct() {
    return new Foo("product");
  }

  @Bean
  @Profile("default")
  public Foo fooDefault() {
    return new Foo("default");
  }

  @Bean
  public Bar bar() {
    return new Bar("no profile");
  }
}

Пример 1: Без использования ActiveProfiles

Без [@ActiveProfiles][doc-active-profile] будут загружены profile=default и Bean без установленного профиля.

Исходный код ActiveProfileTest:

@ContextConfiguration(classes = Config.class)
public class ActiveProfileTest extends AbstractTestNGSpringContextTests {

  @Autowired
  private Foo foo;

  @Autowired
  private Bar bar;

  @Test
  public void test() {
    assertEquals(foo.getName(), "default");
    assertEquals(bar.getName(), "no profile");
  }
}

Пример 2: С использованием ActiveProfiles

При использовании @ActiveProfiles будут загружены соответствующие профилю и Bean без установленного профиля.

Исходный код ActiveProfileTest:

@ContextConfiguration(classes = Config.class)
[@ActiveProfiles][doc-active-profiles]("product")
public class ActiveProfileTest extends AbstractTestNGSpringContextTests {

  @Autowired
  private Foo foo;

  @Autowired
  private Bar bar;

  @Test
  public void test() {
    assertEquals(foo.getName(), "product");
    assertEquals(bar.getName(), "no profile");
  }
}

Заключение

  • Без @ActiveProfiles загружаются profile=default и Bean без установленного профиля.
  • При использовании @ActiveProfiles загружаются соответствующие профилю и Bean без установленного профиля.

@ActiveProfiles также может использоваться в сочетании с @SpringBootTest, но здесь это не рассматривается.

Ссылки

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/chanjarster-spring-test-examples.git
git@api.gitlife.ru:oschina-mirror/chanjarster-spring-test-examples.git
oschina-mirror
chanjarster-spring-test-examples
chanjarster-spring-test-examples
master