В моем проекте Java gradle я использую JPA (с persistence.xml) для доступа к базе данных и хочу запустить тесты JUnit4.
Мой файл build.gradle содержит следующие строки:
...
providedCompile group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.1.0'
testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
testCompile 'junit:junit:4.12'
sourceSets{
main{
java{
srcDir 'src/java'
srcDir 'test/java'
}
}
test {
java {
srcDir 'unitTests/src'
}
}
}
...
файл persistence.xml находится в каталоге src / conf
(Web-) приложение работает нормально -> поставщик сохраняемости и файл persistence.xml найдены.
Однако при запуске тестов JUnit при обращении к базе данных выдается исключение:
javax.persistence.PersistenceException: нет поставщика постоянства для
EntityManager с именем xyz в
javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:85)
Я пробовал несколько вещей, таких как добавление
testCompile group: 'org.eclipse.persistence', name: 'eclipselink', version: '2.5.2'
testCompile group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.1.0'
testCompile group: 'org.eclipse.persistence', name: 'org.eclipse.persistence.jpa.jpql', version: '2.5.2'
для сборки. Gradle
или копирование файла persistence.xml в каталог unitTests
но я всегда получаю исключение выше: - (
Будем благодарны за любые предложения о том, что может пойти не так и что может помочь!