Gradle проект JUnit - нет поставщика постоянства - PullRequest
0 голосов
/ 08 января 2019

В моем проекте 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

но я всегда получаю исключение выше: - (

Будем благодарны за любые предложения о том, что может пойти не так и что может помочь!

...