2016-05-03 7 views
1

ich einen scalatest Fall haben, der sowohl Scala und Java-Code verwendet, und innerhalb der Java Teile des Codes gibt es einen Aufruf an:Scalatest mit wichtigsten Ressourcen, nicht Testressourcen

getClass().getResourceAsStream("/dbLocations.properties"); 

Dies ist für andere feine Abschnitte des Codes, die JUnit verwenden, aber ich überschreibe die Scala-Testklassen, um Scalatest zu verwenden (jemand schrieb sie mit JUnit), und wenn ich meinen Test ausführe, der den obigen Code ausführt, werden die geladenen Eigenschaften von src/Haupt/Ressourcen, nicht src/Test/Ressourcen.

Gibt es irgendeine Konfiguration, die ich vermisse? Ich benutze Maven wegen der großen Java-Teile des Projekts (Und übergreifende Entwickler Erfahrung mit Maven über SBT).

+0

um sicher zu sein, von Ihrer Frage nehme ich an, dass Sie eine ähnlich benannte Eigenschaft Datei im Ordner 'main/resources' haben? –

+0

ja tue ich ja, welches die für die Produktion verwendeten Werte enthält – ProperBritish

Antwort

1

Es endete ein Maven-Problem, die Abhängigkeit JAR in meinem lokalen Maven Repo (wo ich die Quelle habe) hatte die Produktionswerte drin. Ich jetzt ein Test-Glas für diese Abhängigkeit mit der Maven-jar-Plugin erstellen:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>test-jar</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Und dann enthalten, dass als Abhängigkeit in dem anderen Projekt, mit dem Umfang auf ‚Test‘, so die test- jar befindet sich nur auf dem Klassenpfad, während ich versuche, das Test-Jar zuerst im Klassenpfad zu platzieren, so dass die Testressourcen vor dem Erkennen der anderen (Produktion) JAR:

eingezogen werden
<dependency> 
     <groupId>com.example</groupId> 
     <artifactId>naughty-dependency</artifactId> 
     <version>1.0.5-SNAPSHOT</version> 
     <type>test-jar</type> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.example</groupId> 
     <artifactId>naughty-dependency</artifactId> 
     <version>1.0.5-SNAPSHOT</version> 
    </dependency> 

In meinem Kopf scheint ein bisschen hacky aber es funktioniert!

0

Von dem, was ich sagen kann, sollte es so wie es ist funktionieren.

Haben Sie die Maven-Datei überprüft, um zu sehen, ob irgendeine pom Konfiguration den Ordner src/test/resources aus dem Testklassenpfad ausschließt?

Verwandte Themen