2013-01-18 15 views
7

Nell'interesse della SECCO, voglio definire la mia ContextConfiguration in una classe genitore e avere tutte le mie classi di test ereditano esso, in questo modo: classPerché il mio test non può ereditare il suo percorso ContextConfiguration dal suo genitore?

principale: classe

package org.my; 

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = "/org/my/Tests-context.xml") 
public abstract class BaseTest { 

} 

bambini:

package org.my; 

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(inheritLocations = true) 
public class ChildTest extends BaseTest { 

    @Inject 
    private Foo myFoo; 

    @Test 
    public void myTest() { 
      ... 
    } 
} 

Secondo i documenti ContextConfiguration dovrei essere in grado di ereditare la posizione del genitore, ma non riesco a farlo funzionare. Spring sta ancora cercando un file nella posizione predefinita (/org/my/ChildTest-context.xml) e barfs quando non riesce a trovarlo. Ho provato quanto segue senza fortuna:

  • Rendere la classe padre concreta
  • Aggiunta di un test no-op alla classe genitore
  • l'aggiunta di un membro iniettato alla classe genitore così
  • combinazioni di cui sopra

sono in primavera-test 3.0.7 e 4.8.2 JUnit.

risposta

11

Rimuovere il @ContextConfiguration(inheritLocations = true) sulla classe figlio. inheritLocations è impostato su true per impostazione predefinita.

Aggiungendo la @ContextConfiguration(inheritLocations = true) annotazione senza specificare una località, si stanno dicendo di primavera per ampliato l'elenco dei luoghi di risorse con l'aggiunta del contesto predefinito che è /org/my/ChildTest-context.xml.

Prova con qualcosa di simile:

package org.my; 

@RunWith(SpringJUnit4ClassRunner.class) 
public class ChildTest extends BaseTest { 

    @Inject 
    private Foo myFoo; 

    @Test 
    public void myTest() { 
      ... 
    } 
} 
+0

che è stato! Questo mi ricorda, devo andare ad accettare la tua altra risposta. Sei ufficialmente SO MVP per questa settimana :-) –

Problemi correlati