Application rẹ ń dá system proxy mọ̀, ṣùgbọ́n ìdánwò JUnit kò dá a mọ̀. Kí o tó yí kóòdù ìwádìí padà, ṣe àfojúsùn JVM wo ni ń ṣe ìlànà kọ̀ọ̀kan àti àwọn àríyànjiyàn wo ni ó gbà.

JDK ṣe àkọsílẹ̀ java.net.useSystemProxies gẹ́gẹ́ bí ẹ̀yà tí a ń yẹ̀wò lẹ́ẹ̀kan ní ìbẹ̀rẹ̀. Síṣètò rẹ̀ nínú ọ̀nà ìdánwò lè pẹ́ jù láti yí ìpinnu ìbẹ̀rẹ̀ yẹn padà.

Build launcher application IDE, olùṣe ìdánwò IDE, Maven fúnra rẹ̀ àti ìlànà ìdánwò Surefire tí a pín sí ẹ̀ka lè ní àwọn àríyànjiyàn VM ọ̀tọ̀ọ̀tọ̀. Ètò proxy nínú launcher kan kì í ṣe ẹ̀rí pé launcher mìíràn gbé e kọjá.

Ṣàyẹ̀wò ìṣètò ìlànà tí a pín sí ẹ̀ka

argLine Surefire ń pèsè àwọn àṣàyàn JVM orí ìlà àṣẹ fún àwọn ìṣe tí a pín sí ẹ̀ka. Àṣàyàn ìbẹ̀rẹ̀ lè wà níbẹ̀ nígbà tí àwọn ìdánwò bá ń ṣiṣẹ́ nínú ẹ̀ka bẹ́ẹ̀:

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

Darapọ̀ àṣàyàn náà mọ́ ìṣètò tí ó wà tẹ́lẹ̀ ti iṣẹ́ náà. Rírọ́pò argLine tí ó wà tẹ́lẹ̀ lè ju àwọn aṣojú ìbòjú tàbí àwọn ètò JVM mìíràn tí ó pọndandan nù. Tí build kò bá lo ẹ̀ka kankan, ṣàyẹ̀wò JVM tí ń gbalejó àwọn ìdánwò ní ti gidi ní àkókò yẹn; argLine ni a kọ sílẹ̀ pé ó wúlò fún àwọn ìṣe tí a pín sí ẹ̀ka nìkan.

Ẹ̀yà tí kò ní ìbáṣepọ̀ pẹ̀lú ìbẹ̀rẹ̀ tí a ń pèsè nípasẹ̀ ẹ̀rọ ẹ̀yà ti framework ìdánwò ní ìgbésí-ayé ọ̀tọ̀. Má ṣe rò pé gbogbo ẹ̀yà ń dé JVM ní àkókò tó tọ́ nìkan nítorí pé System.getProperty() ń dá okùn tí a fẹ́ padà nígbà ìdánwò.

Fún ìdánwò ìtọ́sọ́nà proxy tí a gbájú mọ́, alábàáṣe tí a ṣètò ní kedere tún lè dín ìgbẹ́kẹ̀lé ìṣètò desktop kù. Java 11+ HttpClient lè lo HTTP ProxySelector inú alábàáṣe fún ìdí yẹn. Jẹ́ kí àṣàyàn yẹn hàn nínú èròǹgbà ìdánwò náà: dídánwò ọ̀nà alábàáṣe àti dídánwò ìwádìí proxy ti ẹ̀rọ ìṣiṣẹ́ jẹ́ àyẹ̀wò ọ̀tọ̀ọ̀tọ̀.

Àwọn àpilẹ̀kọ tó jọra