簡體   English   中英

休眠-junit noob-2種測試方法之間的類變量值丟失

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM