2010-09-30 74 views
1

之间的类变量值输了...我有一个简单的集成测试会和所有测试方法运行良好...但是...我 成立专班VAR休眠 - JUnit的小白 - 2种测试方法

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的值获得该2种方法之间丢失。

所以我想“什么是做到这一点的正确方法”,

...和“为什么失去了价值?”

在此先感谢

回答

2

JUnit测试方法不应该依赖于以特定顺序运行,并且应该只共享未被测试更改的类变量。

在testUpdateTag()中,您可能必须创建并保存新标签才能获取ID。或者是否有办法检索可以更新的标签?

顺便说一句,我希望你在某些时候加入断言...... ;-)

+0

这是门票! Ehm,当然,是的:-)呃,我可以将这两项测试结合起来! – vector 2010-09-30 20:40:56

1

对不起,我不是专家的JUnit怎么过的大多数单元测试框架的工作原理有一个设置和撕裂测试的系统,你的每一个单元测试方法之间发生的下降。所以你的时间可能不会在这个过程中幸存下来。

+0

......嗯,这是有道理的。谢谢。 – vector 2010-09-30 15:37:21