Как передать аргументы VM от запуска. json в класс тестирования Junit в VSCode? - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь смоделировать метод c с использованием JMockit. Я пытаюсь запустить комбинацию Junit5, Jmockit 1.41 и JDK11 с VSCode. Изначально я получил java.lang.IllegalStateException: Running on JDK 9 requires -javaagent:<proper path>/jmockit-1.n.jar or -Djdk.attach.allowAttachSelf при запуске на STS. Я решил эту проблему, передав -Djdk.attach.allowAttachSelf в качестве аргумента vm в STS. Это отлично работает с STS.

Однако, когда я пытаюсь запустить тот же исходный код в VSCode, он выдает ту же ошибку java.lang.IllegalStateException: Running on JDK 9 requires -javaagent:<proper path>/jmockit-1.n.jar or -Djdk.attach.allowAttachSelf. Поэтому я отредактировал ключ java.jdt.ls.vmargs и добавил -Djdk.attach.allowAttachSelf в качестве значения в настройках. json файл в VSCode. Но это не сработало. Я попытался добавить VMArgs в запуске. json также. Ошибка все еще сохраняется. Я попытался добавить -javaagent в тег argline через pom. xml в качестве плагина. Но, похоже, ничего не работает.

PS: я пытался использовать -javaagent в настройках. json. Это тоже не работает. Код (простой метод stati c с минимальным кодом) отлично работает с STS. Как заставить его работать с VSCode?

Кто-нибудь может подсказать, как передать запуск формы vmargs. json классу Junit Test? Есть ли альтернатива?

1 Ответ

0 голосов
/ 13 февраля 2020

Разобрался, что я делаю не так. В настройках. json файла я пытался передать -Djdk.attach.allowAttachSelf аргумент в java.jdt.ls.vmargs. Тем не менее, это не будет работать для тестовых случаев Junit. Чтобы передать аргументы jvm для тестовых случаев Junit, необходимо создать отдельный ключ с именем java.test.config. Обратитесь к документации VSCode для Junit.

Это решило проблему для меня.

...