有没有办法在Java中重新初始化一个静态类?

前端之家收集整理的这篇文章主要介绍了有没有办法在Java中重新初始化一个静态类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图单元测试引用另一个类的静态数据的类.我不能“不”使用这个静态类,但是显然运行多个测试已经成问题了.所以我的问题是这个.在junit测试中有没有办法重新初始化静态类?那样一个测试不会受到以前的测试的影响?

所以换句话说有一些这样做:

Foo.setBar("Hello");

// Somehow reinitialize Foo

String bar = Foo.getBar(); // Gets default value of bar rather than "Hello"

不幸的是,我不能改变Foo,所以我被卡住了.

编辑看来,我使我的例子有点太简单了.在实际代码中,“Bar”由系统属性设置,并设置为内部静态变量.所以一旦它开始运行,我不能改变它.

解决方法

如果您使用PowerMock,您可以模拟静态方法 – 这是您应该做的.

猜你在找的Java相关文章