2016-04-11 46 views
0

anda benim entegrasyon testi görünüm için yapılandırma dosyası belirtin normalde PingFacadeApplication (yani kavanoz çalıştıran) başlatırkenböyle @SpringApplicationConfiguration

@SpringBootApplication 
@EnableDiscoveryClient 
@ComponentScan(basePackages = "edu.self.myapp.ping") 
public class PingFacadeApplication { 

    public static void main(String[] args) { 
     System.setProperty("spring.config.name", "ping-facade-server"); 
     SpringApplication.run(PingFacadeApplication.class, args); 
    } 
} 

, yapılandırma (ping-facade-server.yml) dosyası doğru şekilde src/main/resources'dan okunur. Ancak, tümleştirme sınamalarımı çalıştırırken, yapılandırma dosyaları hiçbir zaman okunmaz gibi görünüyor çünkü sunucu her zaman 8080 numaralı bağlantı noktasında başlatıldı. Ben de yapılandırma dosyasını src/test/resources'a koymaya çalıştım ama şans yok.

Bağlantı noktasını WebIntegrationTest ek açıklamasında değiştirebileceğimi biliyorum ancak iki yerde olmasını önlemek istiyorum.

Çok teşekkürler. Benim durumumda

// ... 
@WebIntegrationTest("spring.config.name=ping-facade-server") 
public class PingResourceTest { 

Ben src/test/kaynaklarda bir ping-cephe-server.yml dosyası var:

+0

Dosyanın okunmadığından emin misiniz, sadece System.setproperty'nin orada herhangi bir etkisi olmaz mı? – eis

+0

"Ana" yöntemi yalnızca uygulamanızı normal olarak çalıştırdığınızda denir, sistem özelliği ayarlanmayacak şekilde bir test çalıştırdığınızda çağrılmaz. –

+0

@AndyWilkinson Gerçekten de, sınıf başka bir şekilde içsel olarak başlatılmalı ... Etrafında bir yol buldum, ancak cevap olarak yayınlayacağım. Teşekkürler! – nyg

cevap

0

bir çözüm @WebIntegrationTest ek açıklama ile yapılandırma dosyasının adını göstermektir.