You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Marc Carter (JIRA)" <ji...@apache.org> on 2017/07/14 12:14:01 UTC
[jira] [Updated] (CAMEL-11543) Camel doesn't support
@TestPropertySource
[ https://issues.apache.org/jira/browse/CAMEL-11543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marc Carter updated CAMEL-11543:
--------------------------------
Description:
Vanilla Spring test passes:
{code:java}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes= PropTest.class)
@Configuration
@TestPropertySource(properties = "key=value")
public class PropTest {
@Value("${key}") private String key;
@Test
public void test() {
assertThat(key, is("value"));
}
}
{code}
Camel test fails (first two lines only changed):
{code:java}
@RunWith(CamelSpringRunner.class)
@BootstrapWith(CamelTestContextBootstrapper.class)
@ContextConfiguration(classes= PropTest.class)
@Configuration
@TestPropertySource(properties = "key=value")
public class PropTest {
@Value("${key}") private String key;
@Test
public void test() {
assertThat(key, is("value"));
}
}
{code}
This would appear to be related to the comment in [@TestPropertySource|https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/context/TestPropertySource.html]
bq. @TestPropertySource is enabled if the configured context loader honors it. Every SmartContextLoader that is a subclass of either AbstractGenericContextLoader or AbstractGenericWebContextLoader provides automatic support for @TestPropertySource
{{CamelSpringTestContextLoader}} does not extend AbstractGenericContextLoader but its parent AbstractContextLoader so ignores the annotation.
was:
Vanilla Spring test passes:
{code:java}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes= PropTest.class)
@Configuration
@TestPropertySource(properties = "key=value")
public class PropTest {
@Value("${key}") private String key;
@Test
public void test() {
assertThat(key, is("value"));
}
}
{code}
Camel test fails (first two lines only changed):
{code:java}
@RunWith(CamelSpringRunner.class)
@BootstrapWith(CamelTestContextBootstrapper.class)
@ContextConfiguration(classes= PropTest.class)
@Configuration
@TestPropertySource(properties = "key=value")
public class PropTest {
@Value("${key}")
private String key;
@Test
public void test() {
assertThat(key, is("value"));
}
}
{code}
This would appear to be related to the comment in [@TestPropertySource|https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/context/TestPropertySource.html]
bq. @TestPropertySource is enabled if the configured context loader honors it. Every SmartContextLoader that is a subclass of either AbstractGenericContextLoader or AbstractGenericWebContextLoader provides automatic support for @TestPropertySource
{{CamelSpringTestContextLoader}} does not extend AbstractGenericContextLoader but its parent AbstractContextLoader so ignores the annotation.
> Camel doesn't support @TestPropertySource
> -----------------------------------------
>
> Key: CAMEL-11543
> URL: https://issues.apache.org/jira/browse/CAMEL-11543
> Project: Camel
> Issue Type: Bug
> Components: tests
> Affects Versions: 2.18.1
> Environment: Spring 4.1 onwards
> Reporter: Marc Carter
> Labels: spring
>
> Vanilla Spring test passes:
> {code:java}
> @RunWith(SpringJUnit4ClassRunner.class)
> @ContextConfiguration(classes= PropTest.class)
> @Configuration
> @TestPropertySource(properties = "key=value")
> public class PropTest {
> @Value("${key}") private String key;
> @Test
> public void test() {
> assertThat(key, is("value"));
> }
> }
> {code}
> Camel test fails (first two lines only changed):
> {code:java}
> @RunWith(CamelSpringRunner.class)
> @BootstrapWith(CamelTestContextBootstrapper.class)
> @ContextConfiguration(classes= PropTest.class)
> @Configuration
> @TestPropertySource(properties = "key=value")
> public class PropTest {
> @Value("${key}") private String key;
> @Test
> public void test() {
> assertThat(key, is("value"));
> }
> }
> {code}
> This would appear to be related to the comment in [@TestPropertySource|https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/context/TestPropertySource.html]
> bq. @TestPropertySource is enabled if the configured context loader honors it. Every SmartContextLoader that is a subclass of either AbstractGenericContextLoader or AbstractGenericWebContextLoader provides automatic support for @TestPropertySource
> {{CamelSpringTestContextLoader}} does not extend AbstractGenericContextLoader but its parent AbstractContextLoader so ignores the annotation.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)