junit单元测试框架是指什么?有何作用?

TheDisguiser 2020-07-01 21:57:24 java常见问答 6857

小伙伴们有听过Junit吗?你知道这是一个什么框架吗?它有什么作用呢?这次小编就来带大家详细了解一下Junit单元测试框架。

Junit是什么?

是一个Java 编程语言的开源测试框架,常用于编写和运行测试相关代码。Junit 测试也是程序员测试,就像是白盒测试。

Junit的作用?

适用于编写和运行测试相关代码,例:

Maven配置

? xml version = "1.0"
encoding = "UTF-8" ? >
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>junit</groupId>
    <artifactId>junitTest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
</project>

现在新建一个类,这个类为被测试类,里面包含着一些测试方法

package junit.util;
/**
 * 被测试类,通过Junit对此类的方法进行单元测试
 */
public class Claculate
{
    public int add(int a, int b)
    {
        return a + b;
    }
    public int subtract(int a, int b)
    {
        return a - b;
    }
    public int multiply(int a, int b)
    {
        return a * b;
    }
    public int divide(int a, int b)
    {
        return a / b;
    }
}

新建一个Junit的测试类用来测试上面的测试方法,新增Junit的测试类方法如下:

package junit.util;
import static org.junit.Assert.*;
import junit.util.Claculate;
import org.junit.Test;
/**
 * junit的测试方法必须使用@Test注解
 * 测试方法必须以public void修饰,并且不包含参数
 */
public class ClaculateTest
{
    @Test
    public void testAdd()
    {
        /**
         * assertEquals这个方法是一个断言方法
         * 第一个参数表示预期的结果
         * 第二个参数表示程序的执行结果
         * 当预期结果与执行结果是一致的时候,则表示单元测试成功
         */
        assertEquals(4, new Claculate()
            .add(1, 3));
    }
    @Test
    public void testSubtract()
    {
        assertEquals(4, new Claculate()
            .subtract(9, 5));
    }
    @Test
    public void testMultiply()
    {
        assertEquals(6, new Claculate()
            .multiply(2, 3));
    }
    @Test(expected = ArithmeticException.class)
    public void testDivide()
    {
        assertEquals(3, new Claculate()
            .divide(9, 0));
    }
}

上面的这个测试类,分别对被测试类Claculate的四个方法进行了测试,测试是选择使用Junit方式进行执行,如果想要执行单个测试方法,可以选择单个方法进行执行,可以通过左侧代码栏展开类选择下面的方法或者直接在代码中选中方法名进行执行。如下图:

junit单元测试框架是指什么?有何作用?

对于一个类包含的多个测试方法,可以选中这个类,鼠标右键选择new一个JUnitTest Case,可以选择类中的所有要测试的方法,eclipse会自动帮你生成测试方法体

只需要在每个要测试的方法中添加测试代码即可,如下图;

junit单元测试框架是指什么?有何作用?

以上就是关于Junit的全部内容了,如果你还想要了解更多java常见问题及解决方法,就请继续关注我们网站吧。

推荐阅读:

junit单元测试步骤都有哪些?使用idea进行junit单元测试

java junit单元测试实例,junit单元测试例子

junit单元测试的原理是什么?如何使用?