Невозможно выполнить наш модульный тест в NetBeans - PullRequest
0 голосов
/ 19 декабря 2018

Я пытался провести простой модульный тест на Java-классе.Проблема в том, что это не просто Java-класс, выполняемый сам по себе, а часть большого проекта, который необходимо развернуть перед запуском.Сам класс вызывается из файла .zul (платформа ZK), и требуется соединение с базой данных.

Всякий раз, когда я запускаю модульный тест, я получаю что-то вроде этого:

[EL Severe]: ejb: 2018-12-19 15: 48: 27.11 - ServerSession (254896875)--Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ValidationException Исключение Описание: Невозможно получить источник данных [mydb] Внутреннее исключение: javax.naming.NameNotFoundException;оставшееся имя 'mydb'

Сообщение об ошибке возникает, когда система вызывает функцию, которая выбирает данные из базы данных.В частности, это происходит из-за этой строки:

    period.setDataModel(findAllPeriod());

"period" - это компонент файла .zul, а findAllPeriod () - функция, которая извлекает данные.

Согласнок большинству связанных тем, которые я читал до сих пор, это может быть связано с persistence.xml.В проекте есть два таких xmls.Первый содержит строку

*<jta-data-source>mydb</jta-data-source>*

, и это единственный файл, в котором даже явно упоминается mydb.Другой файл persistence.xml содержит строку выше в качестве комментария, а также следующее:

  *<property name="javax.persistence.jdbc.url" value="${jdbc.url}"/>
  <property name="javax.persistence.jdbc.user" value="${jdbc.user}"/>
  <property name="javax.persistence.jdbc.driver" value="${jdbc.driver}"/>
  <property name="javax.persistence.jdbc.password" value="${jdbc.password}"/>*

Может быть что-то не так с persistence.xml?Или это фреймворк ZK как-то отвечает за проблему?

Я использую NetBeans 8.2, Glassfish 4.1 и ZK.

Заранее спасибо

...