19

単体テストでは、「workingDir」システム プロパティを Null に設定する必要があります。

しかし、NullPointerException が発生するため、このようなことはできません。

System.setProperty("workingDir", null);

どうすればいいですか?

4

3 に答える 3

55

実際の null 値を持つようにプロパティを設定することはできません。次のようにクリアすることしかできません。

System.clearProperty("workingDir");
于 2010-12-01T11:49:34.400 に答える
5

System.setProperty()はオブジェクトを使用して内部的に実装されており、そのPropertiesオブジェクトは古き良き を使用しますHashtable。これらのハッシュテーブルでは、メソッドを使用して null 値を設定するput()ことはできないため、実際にはそのようにすることはできません。Jon Skeet の投稿には解決策があります。

于 2010-12-01T11:50:05.727 に答える
2

setPropertyメソッドの引数のいずれかが null の場合、メソッドは NullPointerException をスローするため、それを行うことはできません。Jon が提案したように、そこに空の文字列を配置して、単体テストまたは単純に clearProperty で確認することができます。

于 2010-12-01T11:50:26.893 に答える