Тест-ресурсы зависимостей не в classpath?
У меня есть многомодульный проект Spring, который я настроил с помощью Maven:
my-root (pom)
- my-logic
- my-webapp (depending on my-logic)
- my-consoleapp (depending on my-logic)
Мои тестовые классы наследуются отAbstractTransactionalJUnit4SpringContextTests
и использовать@ContextCofiguration
для настройкиApplicationContext
.
Например. тестовый класс для 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;
...
}
Как вы можете видеть, есть конфигурационный XML для каждого модуля. У меня есть отдельные конфиги для тестирования, находящиеся в test / resources каждого модуля (и дополнительно имеющие суффикс "-test"). Это все работает (класс компилируется, запускается и тесты JUnit успешны)если Я запускаю тест JUnit в Eclipse.
Теперь к моей проблеме:Запуск теста с использованием Maven НЕ будет работать! (например, с помощью «Run As»> «Maven install» вmy-root
(Я использую m2eclipse)). В частности, он выдаст следующее исключение:
java.io.FileNotFoundException: ресурс пути к классу [applicationContext-logic-test.xml] не может быть открыт, потому что он не существует`
Кажется, что Maven не добавляет файлы изmy-logic/src/test/resources
к classpath, который устанавливается при запуске модульных тестовmy-webapp
.
Как я могу это исправить?