2010-12-01 4 views
13

단위 테스트에서 "workingDir"시스템 속성을 Null로 설정해야합니다.Java에서 Null로 시스템 propery 설정

하지만 그것은 나에게 NullPointerException이 제공하기 때문에,이 같은 somesing 수행 할 수 없습니다

System.setProperty("workingDir", null); 

내가 어떻게 할 수 있습니까?

답변

37

당신은 실제 널 (null) 값을 갖는 속성을 설정할 수 없습니다 - 당신은 할 수 같은, 그것은 단지 명확 :

System.clearProperty("workingDir"); 
+0

무관 할 수도 있지만 JDK 5 이상에서만 작동합니다. – darioo

5

System.setProperty() 내부적으로 차례로 오래된 좋은를 사용하는 Properties 객체를 사용하여 구현됩니다 Hashtable. 이러한 해시 테이블은 put() 메서드를 사용하여 null 값을 설정할 수 없으므로 실제로 그렇게 할 수는 없습니다. Jon Skeet의 게시물에는 해결책이 있습니다.

2

setProperty 메서드는 인수가 null 인 경우 NullPointerException을 throw하므로이를 수행 할 수 없습니다. Jon이 제안한대로 비어있는 문자열을 단위 테스트에서 확인하거나 단순히 속성을 지울 수 있습니다.

관련 문제