Recursos de teste de dependências que não estão no caminho de classe?
Eu tenho um projeto Spring de múltiplos módulos que configurei usando o Maven:
my-root (pom)
- my-logic
- my-webapp (depending on my-logic)
- my-consoleapp (depending on my-logic)
Minhas classes de teste são herdadas deAbstractTransactionalJUnit4SpringContextTests
E use@ContextCofiguration
para configurar oApplicationContext
.
Por exemplo. a classe de teste para um Spring Controller:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath:applicationContext-logic-test.xml",
"classpath:applicationContext-web-test.xml"})
public class ControllerTest extends AbstractTransactionalJUnit4SpringContextTests {
@Autowired
private ApplicationContext applicationContext;
...
}
Como você pode ver, existe um XML de configuração por módulo. Eu tenho configurações separadas para teste, residindo em teste / recursos de cada módulo (e adicionalmente tendo o sufixo "-test"). Isso tudo funciona (a classe compila, executa e os testes JUnit são bem-sucedidos)E se Eu executo o teste JUnit no Eclipse.
Agora, para o meu problema:A execução do teste usando o Maven NÃO funcionará! (por exemplo, com "Executar como"> "Instalação do Maven" emmy-root
(Eu uso m2eclipse)). Especificamente, lançará a seguinte exceção:
java.io.FileNotFoundException: o recurso do caminho da classe [applicationContext-logic-test.xml] não pode ser aberto porque não existe`
Parece que o Maven não adiciona os arquivos demy-logic/src/test/resources
para o caminho de classe configurado ao executar os testes de unidade demy-webapp
.
Como posso consertar isso?