实验指导书(修订版) 下载本文

图5 增加变量

(3)选择建立好的JUNIT变量,如图6所示。

图6 选择建立好的JUNIT变量

29

(4)然后出现如图7所示的界面。

图7

(5)点开JUNIT前的节点,出现如图8

图8

30

(6)如果source attachment后面是(none),点击右面的edit,出现如图9

图9

(7)点击variable,在如图10所示中选择JUNIT_SRC,然后逐步点击OK,结果如图11所示。

图10

31

图11

32

附录2:JUnit4概述

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。Annotation一般是翻译成元数据。什么是元数据呢?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和public描述这个数据是公有的一样。

1、标注

在测试类中,并不是每一个方法都是用于测试的,你必须使用“标注”来明确表明哪些是测试方法。“标注”也是JDK5的一个新特性,用在此处非常恰当。我们可以看到,在某些方法的前有@Before、@Test、@Ignore等字样,这些就是标注,以一个“@”作为开头。这些标注都是JUnit4自定义的,熟练掌握这些标注的含义非常重要。下面将一一介绍这些常见的标注。

@Test 测试

表明这是一个测试方法。

@Before 准备

表明在任何测试执行之前需要进行的准备工作,使用了该元数据的方法在每个测试方法执行之前都要执行一次。

@After 收尾

表明在任何测试执行之后需要进行的收尾工作,使用了该元数据的方法在每个测试方法执行之后要执行一次。

注意:@Before和@After标示的方法只能各有一个。

@ignore 忽略

该元数据标记的测试方法在测试中会被忽略。当测试的方法还没有实现,或者测试的方法已经过时,或者在某种条件下才能测试该方法(比如需要一个数据库联接,而在本地测试的时候,数据库并没有连接),那么使用该标签来标示这个方法。同时,你可以为该标签传递一个String的参数,来表明为什么会忽略这个测试方法。比如:@lgnore(“该方法还没有实现”),在执行的时候,仅会报告该方法没有实现,而不会运行测试方法。

@Test(expected=*.class)

通过@Test元数据中的expected属性对异常错误进行的测试。expected的属性值是一个异常的类型。

@Test(timeout=xxx) 限时测试

该元数据传入了一个Timeout参数,表明要设定的时间,单位为毫秒,如果测试方法

33