单元测试—junit入门学习笔记

上一篇 / 下一篇  2012-03-07 10:38:28 / 个人分类:单元测试

    现在的项目要用junit进行单元测试,各种不懂。对junit的了解仅仅是一中白盒单元测试的工具,其他默然,而项目在即,只能突击的学习学习。
1.JUnit4单元测试包引入这个项目:在该项目上点右键,点属性在弹出的属性窗口中,首先在左边选择Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了
2.生成JUnit测试框架:在EclipsePackage Explorer中用右键点击该类弹出菜单,选择“New à JUnit Test Case”在弹出的对话框中,进行相应的选择, 点击下一步后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。之后系统会自动生成一个新类,里面包含一些空的测试用例。添加代码,添加测试用例,不要忘记应该导入的包含
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
3.运行测试代码:按照上述代码修改完毕后,运行代码。
编写junit测试框架的基本原则:
   编写的所有测试类,必须继承自junit.framework.TestCase类;里面的测试方法,命名应该以Test开头,必须是 public void 而且不能有参数;而且为了测试查错方便,尽量一个TestXXX方法对一个功能单一的方法进行测试;使用assertEquals等 junit.framework.TestCase中的断言方法来判断测试结果正确与否。
运行完代码后如何进行分析:
     运行结果在绿条下面有Errors、Failures统计。这两者有何区别呢?
   Failures作为单元测试所期望发生的错误,它预示你的代码有bug,不过也可能是你的单元测试代码有逻辑错误(注意是逻辑错误)。Errors不是你所期待的,发生了Error你可以按照下面的顺序来检查:

  检查测试所需的环境,如:
数据库连接

  检查单元测试代码

  检查你的系统代码

在junit4各个标记语言的意思:
@Before
使用了该元数据的方法在每个测试方法执行之前都要执行一次。

@After

使用了该元数据的方法在每个测试方法执行之后要执行一次。

注意:@Before@After标示的方法只能各有一个。这个相当于取代了JUnit以前版本中的setUptearDown方法,当然你还可以继续叫这个名字,不过JUnit不会霸道的要求你这么做了。

@Test(expected=*.class)
JUnit4.0之前,对错误的测试,我们只能通过fail来产生一个错误,并在try块里面assertTruetrue)来测试。现在,通过@Test元数据中的expected属性。expected属性的值是一个异常的类型

@Test(timeout=xxx):
该元数据传入了一个时间(毫秒)给测试方法,
如果测试方法在制定的时间之内没有运行完,则测试也失败。

@ignore

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

TAG:

 

评分:0

我来说两句

Open Toolbar