L-applikazzjoni tiegħek tiskopri l-proxy tas-sistema, iżda test JUnit ma jiskoprix. Qabel ma tbiddel il-kodiċi tal-iskoperta, identifika liema JVM imexxi kull proċess u liema argumenti rċieva.

Il-JDK jiddokumenta java.net.useSystemProxies bħala proprjetà li tiġi ċċekkjata darba waqt il-bidu. L-issettjar tagħha ġewwa metodu tat-test jista' jkun tard wisq biex tbiddel dik id-deċiżjoni tal-bidu.

Bidla tal-applikazzjoni fl-IDE, mexzej tat-testijiet fl-IDE, Maven innifsu u proċess tat-test Surefire maqtugħ jistgħu kollha jkollhom argumenti VM differenti. Issettjar tal-proxy f'bidla waħda mhuwiex prova li bidla oħra għaddietha.

Iċċekkja l-konfigurazzjoni tal-proċess maqtugħ

argLine ta' Surefire jipprovdi għażliet JVM tal-linja tal-kmand għal eżekuzzjonijiet maqtugħa. Għażla tal-bidu tista' tappartjeni hemm meta t-testijiet imexxu f'tali fergħa:

<argLine>-Djava.net.useSystemProxies=true</argLine>

Għaqqad l-għażla mal-konfigurazzjoni eżistenti tal-proġett. Is-sostituzzjoni ta' argLine eżistenti tista' tarmi aġenti tal-kopertura jew issettjar ieħor meħtieġ tal-JVM. Jekk il-build ma jużax fergħa, iċċekkja minflok il-JVM li tassew jospita t-testijiet; argLine hija ddokumentata bħala effettiva biss għal eżekuzzjonijiet maqtugħa.

Proprjetà li mhijiex sensittiva għall-bidu u li tiġi pprovduta permezz tal-mekkaniżmu tal-proprjetajiet ta' qafas tat-test għandha ċiklu tal-ħajja differenti. Tassumix li kull proprjetà tasal għand il-VM kmieni biżżejjed biss għax System.getProperty() jirritorna l-string mixtieq waqt it-test.

Għal test iffukat tar-rotta tal-proxy, klijent konfigurat b'mod espliċitu jista' wkoll inaqqas id-dipendenza fuq il-konfigurazzjoni tad-desktop. Java 11+ HttpClient jista' juża għal dan il-għan HTTP ProxySelector lokali għall-klijent. Żomm dik l-għażla viżibbli fl-intenzjoni tat-test: li tittestja rotta tal-klijent u li tittestja l-iskoperta tal-proxy tas-sistema operattiva huma verifiki differenti.

Artikli relatati