如何在eclipse中通过Juit进行单元测试

1、什么是Junit

Junit即单元测试,是JAVA语言的单元测试框架,是对程序的一个方法所进行的测试

一般都是由程序员自己通过Junit来进行测试,因此单元测试也叫程序员测试;

如果测试人员熟悉程序员的代码逻辑也可以进行接口测试,可用于进行接口测试,即白盒测试。

2、如何使用Junit

要使用Junit测试框架,必须要在maven项目的基础上才能使用,因此这里先对maven进行介绍。

★maven介绍

1)是一种特殊的JAVA project,通过maven创建后的项目上面会有一个M字样的标志,如下图所示。

2)在maven中集成了junit测试包,应该说maven可以集成任何你想的到或者想不到工具插件。

3)优势:如果不是maven项目,如果使用到某个JAR包,就需要手动就添加,但通过maven创建的项目就不需要。

4)作用:可进行编译,打包,也可以进行模块管理

★如何创建maven项目

第一步:

在eclipse中点击new->other来创建一个maven项目

第二步:

在打开的的对话框中选择Maven Project,然后点击下一步

第三步:

勾选create a simple project,然后再点击next

注意:

第一次使用maven时需要下载,如果速度慢需要等待很长一段时间

第四步:

在new maven project中填写group id ,artifact id(文件夹名字),其它默认或者不填,然后finish

group id与artifact id解释如下:

groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。

groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是项目名称即tomcat。

第 五步:

按以上步骤即可完成maven项目的创建了。

以下为所创建的maven项目即test_junit各个文件夹的解释:

1)src/main/java:存放JAVA代码

2)src/main/resources:存放JAVA的资源文件

3)src/test/java:存放测试的JAVA代码

4)src/test/resources:存放测试JAVA代码需要用到的一些资源文件

5)pox.xml:用于描述maven项目的一些相关信息,比如:创建的test_junit的版本信息,Group Id,包的结构等等,都可以在pox.xml中查看到。

第六步:

如何通过maven引入需要用到的junit的jar包。

1)打开pox.xml文件,选择pox.xml标签

2)然后在pox.xml中输入以下代码,来引入相关的junit的JAR包,代码如下:

<dependencies>
 <dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.11</version>
 </dependency>
 </dependencies>

注意:

这段代码的意思是从中央仓库拿到代码后放到本地仓库中。

中央仓库的地址为:

mvnrepository.com/artifact/org.hamcrest/hamcrest-core/1.3

本地仓库查看方法:

windows->preferuserences->maven->user settings

然后保存后,重新打开test_junit项目,就可以看到maven dependeccies,即所引入的jar包。

3、如何进行单元测试

一共有二种方法,分别如下:

方法一:

通过继承类TestCase,测试方法必须以test开头来命名

例如:

public class Demo1 extends TestCase{

public void test1(){

...

}

}

注意:这种方法中写的所有的方法都必须是以test开头,例如:testXXXX

执行上面的代码后会在左边显示出这两个测试方法是否执行成功。绿色代表执行成功,红色代表执行失败,且test1跟test2方法上面的会显示X。

方法二:

需要在测试方法前面加入注解,而注解的类型分别如下:

@Test:表明这是一个测试方法

@Before:每执行一个测试方法前都会先执行被标注了此注解的方法

@After:每执行一个测试方法后都会先执行被标注了此注解的方法

@BeforeClass:测试用例初始化时执行被@BeforeClass标注的方法,只会执行一次

@AfterClass:当所有测试执行完毕之后,执行进行收尾工作,也就是执行被@AfterClass标注的方法,只会执行一次

格式:

@Test

public void method1(){

...

}

注意:

此时方法名可以随便写,不用一定要写成testXXX了。

例如:

public class Demo2 {
    @BeforeClass
    public static void method5(){
        System.out.println("Demo2.method5()");
    }
    @Before
    public void method3(){
        System.out.println("Demo2.method3()");
    }
    @Test
    public void method1(){
        System.out.println("Demo2.method1()");
    }
    @Test
    public void method2(){
        System.out.println("Demo2.method2()");
    }
    @After
    public void method4(){
        System.out.println("Demo2.method4()");
    }
    @AfterClass
    public static void method6(){
        System.out.println("Demo2.method6()");
    }
}

执行后的结果如下:

注意:

@BeforeClass与@AfterClass所标注的测试方法要定义成static类型才能被执行

4、断言(Assert)

单元测试必须要用到断言,被用来检查非法情况而不是错误情况,即在该程序正常工作时绝不应该发生的非法情况,用来帮助开发人员对问题的快速定位。

常用的API如下:

assertEquals(a,b):判断两个数据是否一致

assertNotEquals(a,b):判断两个数据是否不一致;

assertNull(object):查看对象是否为空

assertNotNull(object):查看对象是否不为空;

assertTrue(...):判断当前运行结果是否为真;

assertFalse(...):判断当前运行结果是否为假;

例如:

assertEquals(3, caculator.getResult());

用于判断通过计算器计算的是否正确

5、打包类测试

介绍:

打包类测试,是把所有的测试类打包在一起测试,即在测试方法前引入所有的测试类即可。

优点:

可以一次性的测试所有的方法,而不用一个一个的去跑了。

代码格式如下:

@RunWith(Suite.class)

@Suite.SutieClasses({类1,类2,类3,...})

public class JunitTestAll {

}

例如:

6、断言与异常的区别

断言用在那些你知道绝对不会发生的事情上,但是因为人总是会犯错误,保不准你写出来的东西跟你想的不一样。所以assert用来捕捉的是程序员自己的错误。

但异常(exception)主要用于捕捉的是用户或者环境的错误。

时间: 2024-10-07 04:17:45

如何在eclipse中通过Juit进行单元测试的相关文章

如何在eclipse中安装Jess

如何在eclipse中安装Jess 浏览:49 | 更新:2014-05-12 16:39 这个文章帮了不少忙,感谢! 但经我实践,还要把插件那些文件向/dropins/sdk下也放一份,才能成功. 1.在Jess官方网站下载jess安装文件,最新版本为jess 7.0试用期为30天. 2.下载解压后文件夹名称为Jess71p2,点开eclipse文件夹 3.里面有五个zip文件,全选解压后生成两个文件夹features,plugins 4.features中有一个文件夹,pligins中有四个

在Eclipse中使用JUnit4进行单元测试(中级篇)【转】

我们继续对初级篇中的例子进行分析.初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4. 一.     包含必要地Package 在测试类中用到了JUnit4框架,自然要把相应地Package包含进来.最主要地一个Package就是org.junit.*.把它包含进来之后,绝大部分功能就有了.还有一句话也非常地重要“import static org.junit.Assert.*;”

(转)在Eclipse中使用JUnit4进行单元测试

原地址:http://blog.csdn.net/andycpp/article/details/1327147 (转)在Eclipse中使用JUnit4进行单元测试,布布扣,bubuko.com

如何在Eclipse中连接源码

最近在很多场合都看见设计模式的影子,一直以来,都投入主要时间在搞算法与数据结构,很来发现设计模式真的很重要.有的时候代码的可维护.可重用.可扩展确实胜过单纯的算法效率高.所以拾起大牛书籍<大话设计模式>同时参考网上诸大牛的博客,开始我的设计模式之旅.由于平时编程时用C/C++,现在是Java,也练练Java语法. 今天先介绍一下命令模式. 概念: 命令模式(Command):将一个请求封装成一个对象,从而使你可用不同的请求对象对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作.

在Eclipse中使用JUnit4进行单元测试(高级篇)【转】

通过前 2 篇文章,您一定对 JUnit 有了一个基本的了解,下面我们来探讨一下JUnit4 中一些高级特性. 一.     高级 Fixture 上一篇文章中我们介绍了两个 Fixture 标注,分别是 @Before 和 @After ,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过 500 兆)进行读写,他的每一个方法都是对文件进行操作.换句话说,在调用每一个方法之前,我们都要打开一个大文件并读入文件内容,这绝对是一个非常耗费时间的操作.如果我们使用 @Before 和 

如何在Eclipse中查看JDK以及Java框架的源码

对于Java程序员来说,有时候是需要查看JDK或者一些Java框架的源码来分析问题的,而默认情况下,你按住Ctrl,再点击 Java本身的类库(例如ArrayList)是无法查看源码的,那么如何在Eclipse中查看JDK以及Java框架的源码呢?下面,跟着我 一起,一步步带你走进源码的世界. 方法一:快速简单 第一步: 打开你的Eclipse,然后随便找一个Java文件,随便找一个Java类库,比如String什么的,然后按住Ctrl,再点击它,你会发现跳到如下界面: 你会发现报错了:Sour

【Java】在Eclipse中使用JUnit4进行单元测试(初级篇)

本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情.所以说,每编写完一个函数之后,都应该对这个函数

如何在Eclipse中安装PDT插件来开发PHP

之前查过很多PDT的安装方法,60%都是让人直接安装All-in-one的PHP eclipse版本,纯属让人无语,而有些给出的PDT安装链接无法正确下载插件,对此,给出了我安装过的PDT插件下载地址:http://download.eclipse.org/tools/pdt/updates/3.3/ 安装方法: 1. 点击 help-> install new software 2. 在 work with 输入框里复制上面地址,然后在下面的 name 显示框中选择第一种插件:PHP Deve

在Eclipse中使用JUnit4进行单元测试(初级篇)【转】

来自[http://blog.csdn.net/andycpp/article/details/1327147] 本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个