2012-08-06 23 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這樣的東西去除這個對靜態值的依賴。