2010-12-01 6 views
0

Ich versuche, diese Verzeichnisstruktur in Maven Java-Projekt zu erstellen:Wo Test-Zusatzklassen zu halten?

pom.xml 
/src 
    /main 
    /java 
     /com 
     /XXX 
      Foo.java 
      Bar.java 
    /test 
    /java 
     /com 
     /XXX 
      FooTest.java 
      BarTest.java 
    /spikes <---- I'm not sure about the right English word for them 
     /com 
     /XXX 
      MockedHttpConnection.java 

So wird in zwei Tests FooTest und BarTest ich die gleichen MockedHttpConnection verwenden kann, die perfekt von ihnen entkoppelt ist sowohl bei gleich bleiben Zeit im selben Paket mit ihnen. Was denkst du über diesen Ansatz? Ich habe das Gefühl, dass ich ein Rad neu erfinde, aber ich finde in Java keine Muster für diesen Mechanismus.

Antwort

4

Wenn MockedHttpConnection Ihre eigene Klasse ist, würde ich vorschlagen, Sie unter /test/java/com/testutil zu speichern.

Wenn es sich um eine Drittanbieterklasse handelt, fügen Sie einfach ein Glas zu Ihrer classpath hinzu.

0

Ich würde vorschlagen, es in Ihrem Testpaket zu haben, weil am Ende Code getestet wird.

Es ist das gleiche wie die Anwendung. Sie speichern nicht nur Ihre Hauptanwendungsklasse unter main. Sie speichern es und alles, was es ausführen muss.