Spring boot, Lesen yml Eigenschaften durch integration test case
Hallo, ich bin mit Spring Boot möchte ich einfügen die Werte des .yml-Datei, in der Bohne. Ich habe geschrieben das integration test case sieht aber aus wie über die Integration der test-case es nicht, die Injektion der Werte.
Problem ist-Wert von urls und keyspaceApp null ist
Bean
@ConfigurationProperties(prefix="cassandra")
public class TestBean {
@Value("${urls}")
private String urls;
@Value("${keyspaceApp}")
private String app;
public void print() {
System.out.println(urls);
System.out.println(app);
}
public String getUrls() {
return urls;
}
public void setUrls(String urls) {
this.urls = urls;
}
}
Integration Test case
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestBean.class)
@IntegrationTest
public class CassandraClientTest {
@Autowired
private TestBean bean;
@Test
public void test() {
bean.print();
}
}
Anwendung yml Datei
cassandra:
urls: lllaaa.com
keyspaceApp: customer
createDevKeyspace: true
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese:
Aus seiner JavaDocs:
Er sagt, dass es funktioniert mit
application.properties
, aber ich denke, es sollte funktionieren mitapplication.yml
als gut.Hier ist, wie ich es geschafft habe:
Wenn Sie die " application test.yml "im Ordner "resources".
Können Sie versuchen, diese:
Aus der Java-Docs:
SpringApplicationConfiguration
ist veraltet im Frühling [Spring-Boot-v1.4.x] und entfernt: [Spring-Boot-v1.5.x]. So, dies ist eine aktualisierte Antwort.MyTestClass
Klasse ist, wie:MyYmlProperties
Klasse ist, wie:Meine
application.yml
ist wie:Schließlich
MyConfiguration
ist wirklich leer 🙂 Sie können füllen Sie es mit was Sie wollen:Hier ist ein anderer Weg: [Spring-Boot-v1.4.x]
Dies funktioniert NUR, wenn auch 'Anwendung.properties " - Datei vorhanden ist.
z.B. maven-Projekt:
src/main/resources/application.Eigenschaften [ Die Datei kann leer sein, aber es ist obligatorisch! ]
src/main/resources/application.yml [hier ist deine eigentliche config-Datei]