Sababta imtixaanada Java u seegaan java.net.useSystemProxies
U gudbi ikhtiyaarada ogaanshaha proxy-ga Java ee xasaasiga ah bilowga JVM-ka socodsiiya imtixaanada, ma aha oo kaliya codsiga ama bilowga build-ka.
Codsigaagu wuxuu ogaadaa proxy-ga nidaamka, laakiin imtixaan JUnit ma ogaado. Ka hor inta aadan beddelin koodhka ogaanshaha, go'aanso JVM kee ayaa socodsiiya hab kasta iyo doodaha uu helay.
JDK waxay java.net.useSystemProxies u diiwaangelisaa sida hanti hal mar la hubiyo bilowga. Ku deji midda gudaha habka imtixaanka waxay noqon kartaa goor dambe oo aan lagu beddeli karin go'aankaas bilowga.
Bilowga codsiga IDE, socodsiiyaha imtixaanka IDE, Maven laftiisa iyo habka imtixaanka Surefire ee la gooyay waxay wada yeelan karaan doodaha VM oo kala duwan. Dejinta proxy ee hal bilow ma aha caddayn in bilow kale uu gudbiyay.
Hubi qaabeynta habka la gooyay
argLine ee Surefire wuxuu bixiyaa ikhtiyaarada JVM ee khadka amarka ee fulinta la gooyay. Ikhtiyaarka bilowga wuxuu ku noqon karaa halkaas marka imtixaanadu ku socdaan laan sidan oo kale:
<argLine>-Djava.net.useSystemProxies=true</argLine>Ku dar ikhtiyaarka qaabeynta jirta ee mashruuca. Beddelka argLine jira wuxuu tuuri karaa wakiilada daboolka ama dejinta kale ee JVM ee loo baahan yahay. Haddii build-ku aanu isticmaalin laan, halkii ka eeg JVM-ka dhab ahaan martigeliya imtixaanada; argLine waxaa loo diiwaangeliyay inuu waxtar u leeyahay oo kaliya fulinta la gooyay.
Hanti aan bilowga xasaasis ahayn oo lagu bixiyo habka hantida ee qaab-dhismeedka imtixaanka waxay leedahay meerto nololeed oo kale. Ha u qaadan in hanti kastu VM-ka gaarto waqti ku filan sababtoo ah System.getProperty() wuxuu soo celiyaa xarafka la rabo inta imtixaanku socdo.
Imtixaan hanuunin proxy oo diiradda saaran, macmiil si cad loo qaabeeyay ayaa sidoo kale yareyn kara ku tiirsanaanta qaabeynta miiska. Java 11+ HttpClient wuxuu u isticmaali karaa HTTP ProxySelector gudaha macmiilka ujeedkaas. Ku hay doorashadaas muuqata ujeedka imtixaanka: in la imtixaamo waddo macmiil iyo in la imtixaamo ogaanshaha proxy-ga nidaamka shaqada waa hubinno kala duwan.