junit4.1.2导入及入门使用

来源:互联网 发布:淘宝店公告栏在哪里写 编辑:程序博客网 时间:2024/04/28 08:36

下周一开始上班啦,怎么说也是人生的一个转折点,不只是我,似乎父母也是很紧张,在异地工作的我基本每天都能收到他们的电话,女朋友也是美的要死,说实话我也是又期待又紧张啦!好了废话不多说,接下来讲解一下Junit4.1.2的导入和入门使用。


JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。说到底,junit是先今公司里规范化单元测试的一个手段,一般程序员都通过junit来测试自己实现的功能是否出错,再提交给公司。

接下来我们先新建一个项目,并新建一个calculator.java的类,我们打算通过实现一个计算器的加减乘除功能并使用junit进行测试来体现,calculator.java的代码在下方所示:

package junit.kayden;

public class Calculator {

private static int result;

public void add(int n){
result += n;
}

public void substract(int n){
result = result - n;
}

public void multiply(int n){

}

public void divide(int n){
result /= 9;
}

public void clear(){
result = 0;
}

public int getResult(){
return result;
}

}
细心的朋友已经发现了,上面的乘法和除法是空的或者是错误的方法,就是为了稍后使用junit测试后得出对比。

接下来就要导包了,junit4.1.2和其依赖包hamcrest-core-1.3是必须的,将他们打包导入项目并buildpath,下面是步骤。







至此已顺利导入了junit及其依赖包,并顺便导入项目中后即可以开始进行测试。首先对需要测试的类右键->new


至此便顺利生成出calculaorTest.java,并在测试方法中进行修改,代码如下:
package junit.kayden;

import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalculatorTest {

private static Calculator calculator = new Calculator();

@BeforeClass
public static void setUpBeforeClass() throws Exception {
calculator.clear();
}

@Before
public void setUp()throws Exception{
calculator.clear();
}


@Test
public void testAdd() {
calculator.add(2);
       calculator.add(3);
       assertEquals(5, calculator.getResult());
}


@Test
public void testSubstract() {
calculator.add(10);
       calculator.substract(2);
       assertEquals(8, calculator.getResult());
}


@Test
public void testMultiply() {
calculator.add(10);
calculator.multiply(2);
assertEquals(20, calculator.getResult());
}


@Test
public void testDivide() {
calculator.add(10);
calculator.divide(2);
assertEquals(5, calculator.getResult());
}
}

由于junit也是使用标签化代码控制,从而节省了很多代码量,其中@test即需要测试的方法体,@before为每次测试前会执行的方法,@beforeClass即在所有方法之前执行,接下来在测试类右键使用junit运行即可进行测试,测试结果一目了然。

1 0