2009-09-30 6 views
5

J'ai un problème lors de l'exécution de tests unitaires dans Eclipse derrière un proxy, car les classes utilisées par les tests unitaires appellent certains services Web, qui se trouvent derrière un proxy. Dans Tomcat, je peux bien sûr spécifier un proxy à utiliser, mais lorsque j'exécute des tests unitaires directement à partir d'Eclipse, la configuration proxy d'Eclipse semble être ignorée. Comment puis-je configurer mes tests unitaires ou Eclipse pour utiliser un proxy dans ce cas?Échec des tests unitaires de service Web derrière un proxy dans Eclipse

Répondre

11

J'ai trouvé la solution: apparemment on peut configurer le proxy dans les paramètres d'exécution/débogage dans Eclipse. Pour ce faire:

  1. clic droit sur la classe de test unitaire
  2. debug comme - configurations de débogage
  3. allez à l'onglet "Arguments"
  4. Ajout de la configuration proxy à "arguments VM":

    • -Dhttp.proxyHost=proxy.host.com
    • -Dhttp.proxyPort=8080
    • -Dhttp.nonProxyHosts=[list of hosts separated with pipe character]

Si vous êtes derrière un mot de passe proxy protégé, vous devez ajouter:

  • -Dhttp.proxyUser=someUserName
  • -Dhttp.proxyPassword=somePassword
+0

Peut-être évident pour les développeurs vétérans Java, mais vous besoin de placer un tiret (-) devant chaque argument lorsque vous l'ajoutez à la section des arguments VM dans Eclipse (ou du moins je l'ai fait). Ex: -Dhttp.proxyHost = abcd.com -Dhttp.proxyPort = 8888. – Peter

+0

Edited répondre en conséquence, merci de le signaler (les tirets étaient dans ma réponse originale, mais ont été apparemment édités lors de l'amélioration de la mise en forme). – simon

+2

Vous devez également noter que la configuration de proxy pour HTTPS utilise une propriété légèrement différente, par exemple. -Dhttps.proxyHost = proxy.host.com. Je me demandais pourquoi cela ne fonctionnait pas pour moi au début et c'était parce que mon code utilise HTTPS. – talawahtech