Java中Junit的使用实例

Junit框架 ,本质就是一个jar包,它提供了规则,@test用例 @Before用例的前置条件,@After用例的后置条件,@BeforeClass类的初始化条件,@AfterClass类的清理条件,suite 管理用例,提供一个面板查看用例的通过与否,提供断言机制

具体案例如下:

package com.my.junit4;

public class Calculator {
	
	public int divide(int a,int b) {
		if(b == 0) {
			return 0;
		}
		return a/b;
	}

}

使用Junit对上面的类进行测试:

package com.my.junit4;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalcBaseTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		System.out.println("BeforeClass");
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		System.out.println("AfterClass");
	}

	@Before
	public void setUp() throws Exception {
		System.out.println("Before");
	}

	@After
	public void tearDown() throws Exception {
		System.out.println("After");
	}

	@Test
	public void test1() {
		System.out.println("test1");
		Calculator ca = new Calculator();
		assertEquals(5, ca.divide(10, 2));
	}
	
	@Test
	public void test2() {
		System.out.println("test2");
		Calculator ca = new Calculator();
		assertEquals(0, ca.divide(10, 0));
	}

}

运行结果如下:

运行结果:

 

若是要对用例集进行测试,加一个Suite,右键类所在的包->new->other->Java->Junit->Junit Test Suite,

如下可对CalcTest.class和CalcTest2.class中所有的方法进行测试

package com.my.io.demo;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ CalcTest.class, CalcTest2.class })

public class AllTests {

}
package com.my.io.demo;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalcTest {

	
	@Before
	public void setUp() throws Exception {
		
		System.out.println("setUp");
	}

	@After
	public void tearDown() throws Exception {
		System.out.println("tearDown");
	}

	@Test
	public void testDivide1() {
		System.out.println("testDivide1");
		Calculator cal=new Calculator();
		int result=cal.divide(10, 1);
		assertEquals(10,result);	
		
	}
	@Test
	public void testDivide2() {
		System.out.println("testDivide2");
		Calculator cal=new Calculator();
		int result=cal.divide(10, 0);
		assertEquals(0,result);	
		
	}
	
	@Test
	public void testDivide3() {
		System.out.println("testDivide3");
		Calculator cal=new Calculator();
		int result=cal.divide(10, 2);
		assertEquals(3,result);	
		
	}
	
	
	@Test
	public void testDivide4() {
		
		assertTrue(true);	
		
		assertEquals(true,true);	
		
	}
	
	@Test
	public void testDivide5() {
		
		assertNull(null);	
		assertEquals(null,null);	
		
	}
	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		
		System.out.println("setUpBeforeClass");
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		
		System.out.println("tearDownAfterClass");
	}


}
package com.my.io.demo;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalcTest2 {

	
	@Before
	public void setUp() throws Exception {
		
		System.out.println("setUp");
	}

	@After
	public void tearDown() throws Exception {
		System.out.println("tearDown");
	}

	@Test
	public void testDivide1() {
		System.out.println("testDivide1");
		Calculator cal=new Calculator();
		int result=cal.divide(10, 1);
		assertEquals(10,result);	
		
	}
	@Test
	public void testDivide2() {
		System.out.println("testDivide2");
		Calculator cal=new Calculator();
		int result=cal.divide(10, 0);
		assertEquals(0,result);	
		
	}
	
	@Test
	public void testDivide3() {
		System.out.println("testDivide3");
		Calculator cal=new Calculator();
		int result=cal.divide(10, 2);
		assertEquals(3,result);	
		
	}
	
	
	@Test
	public void testDivide4() {
		
		assertTrue(true);	
		
		assertEquals(true,true);	
		
	}
	
	@Test
	public void testDivide5() {
		
		assertNull(null);	
		assertEquals(null,null);	
		
	}
	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		
		System.out.println("setUpBeforeClass");
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		
		System.out.println("tearDownAfterClass");
	}


}

运行AllTests结果如下:

 

参数化处理:

package com.my.junit4;
import static org.junit.Assert.assertEquals;
import java.util.Arrays; 
import java.util.Collection; 
import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.junit.runners.Parameterized; 
import org.junit.runners.Parameterized.Parameters; 
 
@RunWith(Parameterized.class) 
public class ParaTest {
	private int input1; 
    private int input2; 
    private int expected; 
    @Parameters 
    public static Collection<Object[]> prepareData(){ 
        Object [][] object = {{3,1,3},{25,5,5},{36,6,6},{0,4,7}}; 
        return Arrays.asList(object); 
    }    
    public ParaTest(int input1,int input2,int expected){ 
        this.input1 = input1; 
        this.input2 = input2; 
        this.expected = expected; 
    }   
    @Test 
    public void testDiv(){ 
        Calculator calc = new Calculator(); 
        int result = calc.divide(input1,input2);//input1,input2,expected分别对应二维数组元素的第一个,第二个和第三个元素
        assertEquals(expected,result); 
    } 
}

运行结果:

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JUnit是一种用于Java语言的单元测试框架,可以帮助我们编写和执行测试用例。下面是JUnit使用方法和一个简单的代码实例: 1. JUnit使用方法 (1)在Java项目引入JUnit依赖 在Java项目,我们需要在项目引入JUnit的依赖包。例如,在Maven项目,我们可以在pom.xml文件添加以下代码: ``` <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> ``` (2)编写测试用例 在Java项目,我们可以编写测试用例来测试某个类或方法的正确性。测试用例通常包括以下几个部分: - 导入需要测试的类或方法 - 编写测试方法,使用JUnit提供的断言方法来测试代码的正确性 - 标注测试方法为@Test,以便JUnit可以识别这个方法为测试方法 例如,我们可以编写如下测试用例: ```java import org.junit.Test; import static org.junit.Assert.*; public class MyTest { @Test public void testAdd() { int a = 2; int b = 3; int result = a + b; assertEquals(5, result); } } ``` 在这个例子,我们测试了一个简单的加法方法,并使用JUnit提供的assertEquals()方法来判断测试结果是否正确。 (3)执行测试用例 在编写好测试用例后,我们可以使用JUnit来执行测试。在Eclipse等IDE,我们可以选择测试类,右键点击选择“Run As” -> “JUnit Test”,即可执行测试用例。 2. 一个简单的代码实例 以下是一个使用JUnit测试一个简单的计算器类的代码示例: ```java import org.junit.Test; import static org.junit.Assert.*; public class CalculatorTest { @Test public void testAdd() { Calculator calculator = new Calculator(); int result = calculator.add(2, 3); assertEquals(5, result); } @Test public void testSubtract() { Calculator calculator = new Calculator(); int result = calculator.subtract(5, 2); assertEquals(3, result); } } ``` 在这个例子,我们测试了一个计算器类的add()方法和subtract()方法,并使用JUnit提供的assertEquals()方法来判断测试结果是否正确。 希望这个例子可以帮助你了解JUnit使用方法和测试用例编写。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值