2013-02-01 14 views
12

Olduğunda Mevcut bir Uygulama Sunucusu (TomCat) ürününe ek bir JUnit testi eklemeye çalışıyorum. (Mevcut ve alanlı) özel TrustManager ile ilgili bir soruna girdim. Bu şey üretimde iyi çalışır, ancak JUnit sırasında istisna verir.Bir TrustManagerFactory, bir TrustManagerFactory (Java)

Kişiye özel TrustManager, yalnızca bir anahtar deposunu bir yoldan yükler ve kendi kamu sertifikalarımıza dolaylı olarak güvenir.

TrustManagerFactory tmFactory = TrustManagerFactory.getInstance("PKIX");  

İstisna: Nedense, JUnits bu kullanarak aşağıdaki satırda bir duruma neden olur Bu istisna neyi Sağlayıcı bakılmaksızın gerçekleşir

java.security.NoSuchAlgorithmException: class configured for TrustManagerFactory: com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory not a TrustManagerFactory 

/Algoritma kombinasyonları kullanılır ("SunX509", .getDefaultAlgorithm(), ve diğerleri).

Herhangi bir fikir büyük takdir edilecektir.

+0

kullanıyorsunuz JVM https://groups.google.com/forum/#!topic/powermock/v4nreP2AnOQ alınır

@PowerMockIgnore("javax.net.ssl.*") 

: bunun için çözüm testi sınıfına ek açıklama kullanmaktır? – zibi

+0

AFAICT, Idea,% JAVA_HOME% 'ı kullanarak, aşağıdakileri giderir: 'java sürümü" 1.6.0_23 "' 'Java (TM) SE Çalışma Zamanı Ortamı (build 1.6.0_23-b05)' 'Java HotSpot (TM) 64 -Bit Sunucu VM (yapı 19.0-b09, karışık mod) ' –

+0

JUnit bir şekilde güvenlik sağlayıcılarının yapılandırmasını bozmuş gibi görünüyor. – EJP

cevap

26

PowerMock, SSL sorunları ile uğraşmak gibi görünüyor ve böylece yanlış bir fabrika yüklemeye çalışıyorsunuz. Bu

+0

Mükemmel :) Teşekkürler! – CoderSpinoza