Запуск тестов PHPUnit в Eclipse создает исключение java.util.ConcurrentModificationException - PullRequest
0 голосов
/ 10 сентября 2018

Когда я запускаю тесты PHPUnit в Eclipse PDT, щелкнув правой кнопкой мыши на папке с тестами и выбрав «Запуск от имени»> PHPUnit Testm

генерирует эту ошибку:

PHPUnit Error in Eclipse

Я перешел к файлу журнала Eclipse и нашел этот текст:

eclipse.buildId = 4.8.0.I20180611-0500

java.version = 10.0.2 java.vendor = Oracle Corporation BootLoader

константы: OS = win32, ARCH = x86_64, WS = win32, NL = en_US Framework

аргументы: -product org.eclipse.epp.package.php.product Командная строка

аргументы: -os win32 -ws win32 -arch x86_64 -product

org.eclipse.epp.package.php.product

Это продолжение файла журнала [скрыто]. Время создания: [скрыто]

org.eclipse.core.jobs Ошибка Произошла внутренняя ошибка во время: «Запуск phpunit-тестов».

java.util.ConcurrentModificationException at java.base / java.util.HashMap.computeIfAbsent (неизвестный источник) в org.eclipse.php.phpunit.ui.launch.PHPUnitLaunchConfigurationDelegate.setEnvironmentVariables (PHPUnitLaunchConfigurationDelegate.java:341) в org.eclipse.php.phpunit.ui.launch.PHPUnitLaunchConfigurationDelegate.launch (PHPUnitLaunchConfigurationDelegate.java:110) в org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:859) в org.eclipse.debug.internal.core.LaunchConfiguration.launch (LaunchConfiguration.java:717) в org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch (DebugUIPlugin.java:1039) в org.eclipse.debug.internal.ui.DebugUIPlugin $ 8.run (DebugUIPlugin.java:1256) на org.eclipse.core.internal.jobs.Worker.run (Worker.java:60)

Большая часть информации, которую я нашел в Интернете, выглядит устаревшей.

Вот небольшая информация о моей среде: Версия PHP: 7.2.9
Версия PHPUnit: 7.3.2
Платформа: Windows 10 Pro

Ответы [ 3 ]

0 голосов
/ 03 июля 2019

Я получил его после добавления PHPUNIT_PORT

0 голосов
/ 14 июля 2019

Я видел ту же проблему с OpenJDK 11.0.3, Eclipse + PHP 2019-06 (4.1.12), используя PHP 7.2 на Ubuntu 18.04.2 LTS (в VirtualBox).

Я использую phpunit, необходимый для моего проекта composer.json с локальным composer.phar в том же родительском каталоге.

Мне пришлось не только установить переменную окружения для порта в конфигурации Run / Debug, которую сделала asytaka, но и явно установить Composer.phar, который находится в моем рабочем пространстве, чтобы наконец заставить его работать. Это все еще немного ненадежно, хотя в этом щелчке правой кнопкой мыши другой тестовый файл автоматически создаст фиктивную (сломанную) конфигурацию отладки / запуска специально для этого файла, поэтому я просто установил конфигурацию для запуска всех тестов в моей тестовой директории.

Шаги, которые работали:

  1. Щелкните правой кнопкой мыши Project-> Run As-> Run Configurations ...
  2. Удалите все конфигурации, которые не работают.
  3. Щелкните правой кнопкой мыши PHPUnit и выберите Новая конфигурация
  4. На вкладке PHPUnit выберите «Использовать PHPUnit проекта (Composer)»
  5. Нажмите на ссылку с надписью «Нажмите здесь, чтобы изменить phar по умолчанию.»
  6. Для PHPUnit Phar: убедитесь, что Composer.phar вашего проекта выбран на появившемся экране (Обзор ... но я его выбрал).
  7. Также проверьте, что порт связи: установлен на 7478
  8. Вернувшись в конфигурацию, на вкладке Environment также установите для переменной PHPUNIT_PORT значение 7478, как и опубликовал yutaka.
  9. Я также поместил папку с тестами в «Выполнить все тесты в выбранном проекте, исходной папке или файле» на вкладке PHPUnit и добавил конфигурацию в избранное для «Выполнить и отладить» на вкладке «Общие».

Это все еще не идеально, но, по крайней мере, сейчас он запускает / отлаживает мои тесты в IDE.

0 голосов
/ 10 сентября 2018

Для меня работало понижение с Java 10 до Java 8 .

...