Domanda

Sto cercando di imparare a utilizzare applicationContext. Il mio obiettivo è quello di scambiare un repository di dati finto per una reale quando si utilizza mio test di unità. Io non voglio fare questo in modo esplicito, voglio fare questo con l'iniezione di dipendenza.

Così come un semplice test prima di fare le cose complicate, sto semplicemente cercando di ottenere un fagiolo dalla mia applicationContext.xml. Da quello che ho letto, questo dovrebbe funzionare:

@ContextConfiguration(locations = "/applicationContext.xml")
public class ResultsListTests {

     @Resource
     CompanyResult resultBean;

     @Test
     public void shouldAddResults() {
         assertEquals(resultBean.getCompanyName(), "Microsoft");

Ma la mia resultBean è sempre nullo. Ecco il mio applicationContext.xml, che si trova sotto WebContent / WEB-INF:

<?xml version="1.0" encoding="UTF-8"?>
<beans>
    <bean id="resultBean" name="resultBean" class="com.trgr.cobalt.company.domain.CompanyResult">
        <property name="companyName">
            <value>Microsoft</value>
        </property>
     </bean>
</beans>

Allora, perché è il mio resultBean sempre nullo? Che cosa ho fatto in modo errato?

È stato utile?

Soluzione

Ti manca un'annotazione @RunWith(SpringJUnit4ClassRunner.class):

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "/applicationContext.xml")
public class ResultsListTests {

     @Resource
     CompanyResult resultBean;

     @Test
     public void shouldAddResults() {
         assertEquals(resultBean.getCompanyName(), "Microsoft");
     }
}

tra , nel campione, WebContent/WEB-INF non è il luogo adatto per applicationContext.xml.

Se si specifica @ContextConfiguration(locations = "/applicationContext.xml") allora Primavera cercherà applicationContext.xml alla radice del classpath, non in WebContent/WEB-INF (JUnit è al 100% a conoscenza del fatto che si tratta di un'applicazione web).

Per ulteriori informazioni , vedere Primavera documentazione di riferimento .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top