我试图单元测试引用另一个类的静态数据的类.我不能“不”使用这个静态类,但是显然运行多个测试已经成问题了.所以我的问题是这个.在junit测试中有没有办法重新初始化静态类?那样一个测试不会受到以前的测试的影响?
所以换句话说有一些这样做:
Foo.setBar("Hello"); // Somehow reinitialize Foo String bar = Foo.getBar(); // Gets default value of bar rather than "Hello"
不幸的是,我不能改变Foo,所以我被卡住了.
编辑看来,我使我的例子有点太简单了.在实际代码中,“Bar”由系统属性设置,并设置为内部静态变量.所以一旦它开始运行,我不能改变它.
解决方法
如果您使用PowerMock,您可以模拟静态方法 – 这是您应该做的.