[英]hibernate - junit noob - class variable value lost between 2 test methods
...我進行了一個簡單的集成測試,所有測試方法都運行良好...但是...我設置了一個類var
int tempId;
通過以下方法使用。 testSaveTag()設置成功執行時的值(目前所有內容都是自動提交的),並且testUpdateTag()更新新創建的標簽。
@Test
public void testSaveTag() {
Tag tag = new Tag();
tag.setDescription("Test Tag");
tempId = instance.saveTag(tag);
}
@Test
public void testUpdateTag() {
Tag tag = instance.getTag(tempId );
tag.setDescription("updated tag description!");
instance.updateTag(tag);
}
tempID的值在這兩種方法之間丟失。
所以我在想“這樣做的正確方法是什么”,
...以及“為什么價值損失了?”
提前致謝
JUnit測試方法絕不應依賴於以特定順序運行,而應僅共享測試未更改的類變量。
在testUpdateTag()中,您可能僅為了獲取ID而必須創建並保存一個新標簽。 還是有一種方法可以檢索可以隨后更新的標簽?
順便說一句,我希望您在某個時候添加斷言... ;-)
抱歉,我不是junit專家,在大多數單元測試框架中,在每種單元測試方法之間都會發生測試系統的設置和拆除。 因此,您的tempId可能無法幸存下來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.