zoukankan      html  css  js  c++  java
  • Java Junit 单元测试

    先编写一个类

    public class Calculator {
    	
    	public int result = 0;
    	
    	public int add(int operand1, int operand2) {
    		result = operand1 + operand2;
    		return result;
    	}
    	
    	public int subtract(int operand1, int operand2) {
    		result = operand1 - operand2;
    		return result;
    	}
    	
    	public int multiple(int operand1, int operand2) {
    		result = operand1 * operand2;
    		for(;;) {}
    	}
    	
    	public int divide(int operand1, int operand2) {
    		result = 1/0;
    		return result;
    	}
    	
    	public int getResult() {
    		return this.result;
    	}
    }
    

    然后在类名上右键新建Junit 测试 Case:

    之后编写测试代码:

    import static org.junit.Assert.*;
    import static org.junit.jupiter.api.Assertions.assertEquals;
    import static org.junit.jupiter.api.Assertions.fail;
    
    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Ignore;
    import org.junit.Test;
    
    public class CalculatorTest2 {
    	
    	private static Calculator cal = new Calculator();
    
    	@BeforeClass
    	public static void setUpBeforeClass() throws Exception {
    		System.out.println("Beforeclass");
    	}
    
    	@AfterClass
    	public static void tearDownAfterClass() throws Exception {
    		System.out.println("after class");
    	}
    
    	@Before
    	public void setUp() throws Exception {
    		System.out.println("开始");
    	}
    
    	@After
    	public void tearDown() throws Exception {
    		System.out.println("结束");
    	}
    
    
    	@Test
    	public void testAdd() {
    		cal.add(2, 2);
    		assertEquals(4, cal.getResult());
    		System.out.println("测试加");
    	}
    	
    	@Test
    	public void testSub() {
    		cal.subtract(4, 2);
    		assertEquals(3,cal.getResult());
    		System.out.println("测试减");
    	}
    	
    	@Ignore
    	public void testMul() {
    		fail("not yet implemented");
    	}
    	
    	@Test(timeout = 2000)
    	public void testDivide() {
    		for(;;);
    	}
    	
    	@Test(expected = ArithmeticException.class)
    	public void testDiv() {
    		cal.divide(4, 0);
    	}
    
    }
    
    

    测试结果:

    注意:
    Junit4 和 Junit5 的语法不一样,不要混用。
    否则会报the attribute timeout is undefined for the annotation type Test类似的错。

    有了计划记得推动,不要原地踏步。
  • 相关阅读:
    jQuery源代码学习笔记_01
    jQuery学习心得
    前端笔试题目练习
    JavaScript Date学习实例:获取3分钟前的时间“hhmmss”格式
    JavaScript Date 学习心得
    Javascript 中的false、0、null、undefined和空字符串对象
    JavaScript比较运算符——"== != === !=="区别
    JavaScript运算符优先级——"++,--,&&,||“
    JavaScript操作符(=?,)优先级
    JavaScript控制流及关键字与C语言之比较
  • 原文地址:https://www.cnblogs.com/amnotgcs/p/13773745.html
Copyright © 2011-2022 走看看