microsoft / microsoft/vscode-java-test

Ignoring arg from maven plugin

Aperta
#1,810 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

ai-triaged bug junit needs-reproduction test-execution
Lingua principale
TypeScript
Stelle
340
Fork
173
Merge medio
1g 19h
PR unite (30g)
18

Descrizione

When I run my java spring boot app tests through the UI (the play button), the console shows the warning about java agent being loaded dynamically:

Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build as described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
WARNING: A Java agent has been loaded dynamically (/var/home/npessoa/.m2/repository/net/bytebuddy/byte-buddy-agent/1.17.7/byte-buddy-agent-1.17.7.jar)
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
WARNING: Dynamic loading of agents will be disallowed by default in a future release

As seen in this stackoverflow post for example, or even in the documentation linked in the warning from the console, this can be resolved by setting up the maven surefire or failsafe plugins with the argLine like this:

<argLine>@{argLine} -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar</argLine>

That's enough to make the warning go away on my CI/CD pipelines or running the tests through the Intellij IDEA UI. But in the case of vscode, I had to edit my settings.json to include this config, having even to replace the placeholders with static values:

"java.test.config": {
  "vmArgs": [
    "-javaagent:/var/home/npessoa/.m2/repository/org/mockito/mockito-core/5.17.0/mockito-core-5.17.0.jar",
    "-Xshare:off"
  ]
}

I'm not sure I'm bringing this up in the appropriate place, but I guessed the vscode-java-test plugin could be responsible for this, so I though posting this here.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con il percorso di avvio dei test Java utilizzato dal pulsante di riproduzione della UI e verifica come viene gestito java.test.config vmArgs insieme a Maven surefire o failsafe argLine. Confronta il comando di test generato con la configurazione documentata del javaagent di Mockito. Il lavoro è completo quando l’argomento dell’agente configurato viene rispettato durante l’avvio dei test tramite VS Code e l’avviso sul caricamento dinamico non viene più segnalato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, vscode
Ambito
testing, tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.