java 单元测试实例_使用 JUnit 进行 Java 代码的单元测试(转)

这篇博客详细介绍了如何使用JUnit进行Java代码的单元测试,包括下载JUnit库,使用@Test注解编写测试方法,使用@Before和@After进行前置和后置工作,以及如何处理异常和设置测试超时。此外,还探讨了参数化测试和指定测试Runner的方法,为开发者提供了全面的单元测试指导。
摘要由CSDN通过智能技术生成

下载安装 JUnit 的相关文件

首先我们需要先下载相应的 JUnit 相关的 JAR 包,下载的过程可以去 JUnit 的官方网站,也可以直接通过 Maven

资源仓库来完成,我这里直接通过开源中国社区在国内的Maven 镜像下载了 JUnit-4.8.2.jar 的版本,如下图所示:

50883701_1.jpg

直接搜索关键字"junit"即可,我们可以从搜索结果中找到红色方框1中的对应项,选中之后就会在左下方列出目前可以获得的 junit

的所有版本,这里我选择了 4.8.2 的版本(红色方框2),然后点击右侧的 Download 按钮即可下载这個 JAR

包,不过依我在实践中的经验,最好同时下载对应版本的 javadoc 和 source

两個包,前者是文档,后者是对应的源代码,然后将它们直接引入到我们的 eclipse 的工程中即可。我这里创建了壹個普通的 Java Project ,并给它取名 junit-study ,导入 JAR 包之后目前的样子如下图所示:

50883701_2.jpg

使用简单的 @Test 注解实现我们的测试方法的编写和执行

准备工作做好之后,接下来我们就可以开始尝试编写壹個简单的测试代码了。首先,我们编写了壹個 Calculator 类,并提供五個方法分别完成加减乘除以及求平方的运算。代码如下:

package net.oschina.bairrfhoinn.main;

public class Calculator {

public void add(int n){

result += n;

}

public void substract(int n){

result -= n;

}

public void multiply(int n){

result *= n;

}

public void divide(int n){

result /= n;

}

public void square(int n){

result = n * n;

}

public int getReuslt(){

return result;

}

public void clear(){

result = 0;

}

private static int result;

}

在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.*。把它包含进来之

后,绝大部分功能就有了。还有一句话也非常地重要“import static

org.junit.Assert.*;”,我们在测试的时候使用的壹系列assertEquals()方法就来自这个包。大家注意壹下,这是壹個静态包

含(static),是JDK5中新增添的壹個功能。也就是说,assertEquals是Assert类中的壹系列的静态方法,壹般的使用方式是

Assert. assertEquals(),但是使用了静态包含后,前面的类名就可以省略了,使用起来更加的方便。

另外要注意的是,我们的测试类是壹個独立的类,没有任何父类。测试类的名字也可以任意命名,没有任何局限性。所以我们不能通过类的声明来判断它是不是一

个测试类,它与普通类的区别在于它内部的方法的声明,我们接着会讲到。在测试类中,并不是每壹個方法都是用于测试的,所以我们必须使用“注解”来明确表明

哪些是测试方法。“注解”也是JDK5的壹個新特性,用在此处非常恰当。我们可以看到,在某些方法的前有@Before、@Test、@Ignore等字

样,这些就是注解,以壹個“@”作为开头。这些注解都是JUnit4自定义的,熟练掌握这些注解的含义,对于编写恰当的测试类非常重要。

接下来我们创建壹個测试类 CalculatorTest.java,代码如下:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值