2016-06-28 9 views
1

Ich arbeite an einer Spring Boot App Version 1.3.5.RELEASE und versuche den Integrationstest mit dem Spring-Boot-Maven-Plugin zu implementieren (mit Start/Stop-Zielen)). Meine Datei "application.properties" befindet sich derzeit im Ziel-/Testordner. Wenn sie jedoch ausgeführt wird, sucht die Anwendung im Stammverzeichnis des Projekts nach der Datei "application.properties".Spring Boot Maven Plugin - Arbeitsverzeichnis festlegen

Kann jemand das Arbeitsverzeichnis im Spring Boot Maven Plugin einstellen?

Meine aktuelle Plugin-Konfiguration ist:

 <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <version>1.3.5.RELEASE</version> 
      <executions> 
       <execution> 
        <id>pre-integration-test</id> 
        <goals> 
         <goal>start</goal> 
        </goals> 
        <configuration> 
         <mainClass>o.m.e.Application</mainClass> 
        </configuration> 
       </execution> 
       <execution> 
        <id>post-integration-test</id> 
        <goals> 
         <goal>stop</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
+0

was ist die Einheit Test-Framework Sie verwenden? jUnit oder testNg? –

+0

Sie müssen dies nicht so kompliziert machen, aber Sie können Spring Boot bitten, den notwendigen Kontext zu erstellen, indem Sie SpringJUnit4ClassRunner oder SpringRunner verwenden, wenn Sie Spring Boot 1.4 verwenden. –

+0

Ich versuche Karma Test Runner zu integrieren, um meine Benutzeroberfläche mit realen Serverdaten zu testen. Maven ruft Karma mit dem Frontend-Maven-Plugin im Integrationstest an. Ich muss die App vor und nach dem Integrationstest starten und beenden. –

Antwort

0

Sie den Test-Eigenschaft Quellpfad konfigurieren können wie folgt.

@TestPropertySource(locations = "classpath:application-test.properties") 

Fügen Sie diese Anmerkung der zu entwickelnden Unit-Testklasse hinzu.

z: -

@SpringApplicationConfiguration(classes = XXXXXXX.class) 
@TestPropertySource(locations = "classpath: XXXXXXX.properties") 
public class AppCoreGenericTests{ 

    //unit tests should go here 
} 
Verwandte Themen