2012-08-06 65 views
0

我正在编写修改静态属性的单元测试。不幸的是,这导致另一个单元测试失败时,它不应该。该属性也是最终的(属性是一个对象,通过修改它来保存值,我的意思是添加/删除值)。Java:在单元测试后重新生成静态属性

目前,我在tearDown()方法中将对象(编辑:不是正在测试的对象变量)设置为null,并在setUp()方法中将其初始化,但这不会重置该属性。

任何想法?

+2

您不能将* object *设置为null - 只有一个变量。这意味着我们不知道你的代码是什么样的。你能举一个生产代码和样品测试的例子吗? – 2012-08-06 18:03:44

回答

0

在你@After方法考虑重设使用ReflectionTestUtils

+1

如果你想保留整个测试的测试值,那么你可以使用@AfterClass,它将在整个测试类完成后才会更新 – RNJ 2012-08-06 18:18:34

0

最好的办法是问,为什么你有一个静态字段和工作,如何摆脱它的静态字段。看看像Dependency Inject这样的东西去除这个对静态值的依赖。