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类似的错。

    有了计划记得推动,不要原地踏步。
  • 相关阅读:
    nexus 安装与启动(windows本版)
    linux 安装 mysql8
    02、linux 常用指令
    linux 安装tomcat8
    CentOS7使用firewalld打开关闭防火墙与端口
    03、linux 安装jdk
    rabbit mq的使用
    跨域与同源策略
    JDK1.8新特性04--Optional处理空指针问题
    HttpAsyncClient异步调用
  • 原文地址:https://www.cnblogs.com/amnotgcs/p/13773745.html
Copyright © 2011-2022 走看看