java hibernate junit noob类变量值在两个测试方法之间丢失
。。。我做了一个简单的集成测试,所有的测试方法都运行良好。。。但是 我建立了一个类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的值在两个方法之间丢失
所以我在想“做这件事的正确方法是什么”
。。。以及“为什么价值会丢失?”
提前谢谢
# 1 楼答案
很抱歉,我不是junit专家。在大多数单元测试框架中,测试系统的设置和破坏都发生在每个单元测试方法之间。所以你的tempId可能无法在这个过程中存活
# 2 楼答案
JUnit测试方法不应该依赖于以特定的顺序运行,而应该只共享不被测试更改的类变量
在testUpdateTag()中,您可能需要创建并保存一个新标记才能获得ID。或者是否有方法检索一个标记,然后进行更新
顺便说一句,我希望您在某个时候添加断言…;-)