Problemas com JUnit e Spring

0 respostas
E

Olá pessoal,

É o seguinte:

Estou tentando executar alguns testes unitários em “minha aplicação”, mas estou tendo problemas com o Spring.

Este é o arquivo de configuração do Spring:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">

	
    <context:annotation-config/>
    <context:component-scan base-package="br.com.vivo" /> 

</beans>

Como vocês podem ver, eu estou usando annotations para injeção de dependencias do Spring.

Trata-se de uma palicação web, e por isso ela roda num container (no meu caso, no tomcat). Na verdade, o próprio tomcat é quem se encarrega de configurar o contexto da aplicação.

String ICName = SelectorContext.IC_PREFIX + tomcat.appContext.toString();
javax.naming.Context initialContext = new NamingContext(null, ICName);

Rodando no browser, as dependencias são injetadas corretamente, pois o tomcat, ao ser “startado” faz as configurações necessárias para que, no momento das injeções, o contexto já esteja configurado. No caso do JUnit, essas configurações não são feitas, e a árvore de dependências é quebrada.

Esta é a minha classe de testes:

package br.com.vivo.test;

import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.AbstractDependencyInjectionSpringContextTests;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import br.com.vivo.facade.TrocarAreaRegistroFacade;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring/nfo_application-context.xml"})
public class SimpleTest extends AbstractDependencyInjectionSpringContextTests{

	@Autowired
	private TrocarAreaRegistroFacade trocarAreaRegistroFacade; 
	
	
	public void testInit(){
		assertNotNull(trocarAreaRegistroFacade);
	}


}

Espero ter sido claro.

Alguém tem uma sugestão para criar/executar testes unitários neste cenário?

Agradeço desde já.

Criado 8 de abril de 2009
Respostas 0
Participantes 1