別のクラスの静的データを参照するクラスを単体テストしようとしています。この静的クラスを「使用しない」ことはできませんが、明らかに複数のテストを実行すると問題が発生します。だから私の質問はこれです。junit テストで静的クラスを再初期化する方法はありますか? そうすれば、あるテストは前のテストの影響を受けませんか?
言い換えれば、これを行ういくつかの方法:
Foo.setBar("Hello");
// Somehow reinitialize Foo
String bar = Foo.getBar(); // Gets default value of bar rather than "Hello"
残念ながら、私は Foo を変更できないので、それを使い続けています。
編集私の例を少し単純にしすぎたようです。実際のコードでは、「バー」はシステム プロパティによって設定され、内部静的変数に設定されます。そのため、実行を開始すると、変更できません。