我正在编写一个修改静态属性的单元测试。不幸的是,这导致另一个单元测试在不应该失败的情况下失败。该属性也是最终的(该属性是一个保存值的对象,因此通过修改它,我的意思是添加/删除值)。
目前我在 tearDown() 方法中将对象(编辑:不是对象。正在测试的变量)设置为 null 并在 setUp() 方法中对其进行初始化,但这并没有重置属性。
有任何想法吗?
我正在编写一个修改静态属性的单元测试。不幸的是,这导致另一个单元测试在不应该失败的情况下失败。该属性也是最终的(该属性是一个保存值的对象,因此通过修改它,我的意思是添加/删除值)。
目前我在 tearDown() 方法中将对象(编辑:不是对象。正在测试的变量)设置为 null 并在 setUp() 方法中对其进行初始化,但这并没有重置属性。
有任何想法吗?
最好的选择是质疑为什么你有一个静态字段并找出如何摆脱它。查看 Dependency Inject 之类的东西,以消除对静态值的依赖。
在您的 @After 方法中,考虑使用ReflectionTestUtils重置静态字段