zoukankan      html  css  js  c++  java
  • Eclipse JUnit简单示例

    在本节中,我们将看到一个简单的JUnit例子。

    先创建一个工程,名称为:CalculateTest,并在这个工程上点击右键,选择:Build Path -> Add Library -> JUnit ...,如下图所示:

    选择 JUnit 的库版本为:JUnit 4,如下图所示:

    整个工程的结构如下:

    首先,我们将介绍一个测试类:

    Calculate.java

    package com.yiibai.junit;
    
    public class Calculate {
    
    	public int sum(int var1, int var2) {
    		System.out.println("相加的值是: " + var1 + " + " + var2);
    		return var1 + var2;
    	}
    
    }

    在上面的代码中,我们可以看到,类有一个公共的方法sum(), 它得到输入两个整数,将它们相加并返回结果。在这里,我们将测试这个方法。为了这个目的,我们将创建另一个类包括方法,将测试之前的类(在此情况下,我们只有一个方法进行测试)中每一个的方法。这是使用的最常见的方式。当然,如果一个方法非常复杂且要扩展,我们可以在一个以上的试验方法来测试这一复杂方法。创建测试用例的详细信息将显示在下面的部分。下面,有一个类是:CalculateTest.java,它具有我们的测试类的角色的代码:

    CalculateTest.java

    package com.yiibai.junit;
    
    import static org.junit.Assert.*;
    
    import org.junit.Test;
    
    public class CalculateTest {
    
    	Calculate calculation = new Calculate();
    	int sum = calculation.sum(2, 5);
    	int testSum = 7;
    
    	@Test
    	public void testSum() {
    		System.out.println("@Test sum(): " + sum + " = " + testSum);
    		assertEquals(sum, testSum);
    	}
    
    }

    让我们来解释一下上面的代码。首先,我们可以看到,有一个@Test的注解在 testSum()方法的上方。 这个注释指示该公共无效(public void)方法它所附着可以作为一个测试用例。因此,testSum()方法将用于测试公开方法 sum() 。 我们还可以观察一个方法 assertEquals(sum, testsum)。 assertEquals ([String message], object expected, object actual) 方法持有两个对象作为输入,并断言这两个对象相等。

    如果要运行测试类,右键点击测试类,并选择 Run As -> Junit Test, 该程序的输出将类似于如下:

    相加的值是: 2 + 5
    @Test sum(): 7 = 7

    若要查看JUnit测试的实际结果,Eclipse IDE提供了JUnit的窗口,它显示了测试的结果。 在这种情况下测试成功,JUnit 窗口不显示任何错误或失败,因为我们可以在下面的图片中看到(Errors 0):

    现在,如果我们改变这一行的代码:

    int testSum = 10;

    使整数待测试不相等,则输出将是:

    相加的值是: 2 + 5
    @Test sum(): 7 = 10

    在JUnit窗口,有一个错误将出现,并且会显示这样的信息:

    java.lang.AssertionError: expected: but was:
    at com.yiibai.junit.CalculateTest.testSum(CalculateTest.java:16)
  • 相关阅读:
    基本STRUTS标签-学习笔记-Logic标签
    Static的使用
    模板template
    iostream与iostream.h的区别
    数据库连接池
    canvas基础
    javascript面试题集
    ES6新特性学习
    原型和原型链
    css为tbody或者li奇数偶数行样式
  • 原文地址:https://www.cnblogs.com/borter/p/9608649.html
Copyright © 2011-2022 走看看