Question

Je suis en train d'apprendre à utiliser applicationContext. Mon but est d'échanger un référentiel de données fictives pour un vrai lors de l'utilisation de mes tests unitaires. Je ne veux pas le faire explicitement, je veux le faire avec l'injection de dépendance.

Donc, comme un test simple avant que je fais les choses compliquées, je suis tout simplement essayer d'obtenir un grain de ma applicationContext.xml. D'après ce que j'ai lu, cela devrait fonctionner:

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

     @Resource
     CompanyResult resultBean;

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

Mais mon resultBean est toujours nulle. Voici mon applicationContext.xml, qui se trouve sous 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>

Alors, pourquoi est mon resultBean toujours nulle? Qu'ai-je fait mal?

Était-ce utile?

La solution

Il vous manque une annotation @RunWith(SpringJUnit4ClassRunner.class):

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

     @Resource
     CompanyResult resultBean;

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

BTW , dans l'échantillon, WebContent/WEB-INF est pas l'endroit approprié pour applicationContext.xml.

Si vous spécifiez @ContextConfiguration(locations = "/applicationContext.xml") puis Spring cherchera applicationContext.xml à la racine du classpath, pas WebContent/WEB-INF (jUnit est 100% pas conscients du fait que ce soit une application Web).

Pour plus d'informations , voir documentation de référence Spring .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top