Question

Dans mes tests unitaires que je dois définir la propriété système « WorkingDir » Null.

Mais je ne peux pas faire somesing comme ça, parce que ça me donne NullPointerException:

System.setProperty("workingDir", null);

Comment puis-je faire?

Était-ce utile?

La solution

Vous ne pouvez pas définir une propriété d'avoir une valeur nulle réelle - vous ne pouvez l'effacer, comme ceci:

System.clearProperty("workingDir");

Autres conseils

System.setProperty() est mis en œuvre en interne à l'aide d'un objet Properties, qui à son tour utilise le bon vieux Hashtable. Ces hashtables ne vous permettent de définir une valeur null en utilisant theput() méthode, donc il ne peut pas vraiment se faire de cette façon. Le poste de Jon Skeet a la solution.

Vous ne pouvez pas le faire, comme méthode de setProperty jette NullPointerException si l'un des arguments avancés par elle est nulle. Vous pouvez mettre là une chaîne vide et vérifiez dans vos tests unitaires ou simplement clearProperty, comme le suggère Jon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top