Testing ConfigurationProperty class - Neethahiremath/Wiki GitHub Wiki

refer https://www.baeldung.com/spring-boot-testing-configurationproperties

suppose you have a class

@Configuration
@ConfigurationProperties("kafka")
@Getter
@Setter
public class KafkaConfig {

  private String autoOffsetReset;
  private int sessionTimeoutMs;
  private Boolean enableAutoCommit;
}

and want to test this class

  • first place the yml file under test/resource/application.yml similar to src/main/resource/application.yml having the configuration

example:

kafka:

  auto-offset-reset: earliest
  enable-auto-commit: true
  session-timeout-ms: 60000

  • add the test case and run (refer sample example)
@ExtendWith(SpringExtension.class)
@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)
@ActiveProfiles("test")
@EnableConfigurationProperties(value = KafkaConfig.class)
public class KafkaBaseConfigTest {

  @Autowired private KafkaConfig kafkaConfig;

  @Test
  void whenUsingSpringDefaultSizeConversion_thenDataSizeObjectIsSet() {
    assertEquals(60000, kafkaConfig.getSessionTimeoutMs());
  }
}