在我的单元测试中,我需要将“workingDir”系统属性设置为Null。
但我不能这样做,因为它给了我NullPointerException:
System.setProperty("workingDir", null);
我该怎么做?
答案 0 :(得分:40)
您不能将属性设置为具有实际的空值 - 您只能清除它,如下所示:
System.clearProperty("workingDir");
答案 1 :(得分:5)
System.setProperty()
在内部使用Properties
对象实现,后者又使用旧的Hashtable
。那些哈希表永远不会让你使用put()
方法设置一个空值,所以它不能真的这样做。 Jon Skeet的帖子有解决方案。
答案 2 :(得分:2)
你不能这样做,因为setProperty
方法抛出NullPointerException,如果它的任何参数为null。
您可以在那里放一个空字符串并在单元测试中检查它,或者只是像Jon建议的那样检查clearProperty。