美文网首页
test-01-java 单元测试框架 junit 入门介绍

test-01-java 单元测试框架 junit 入门介绍

作者: 老马啸西风2020 | 来源:发表于2024-01-02 00:04 被阅读0次

拓展阅读

Auto generate mock data for java test.(便于 Java 测试自动生成对象信息)

Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。)

JUnit

JUnit 是一个用于编写可重复测试的简单框架。

它是 xUnit 架构的一种实例,专门用于单元测试框架。

What to test?

Need Desc
Right 结果是否正确
B 边界条件是否满足
I 能反向关联吗
C 有其他手段交叉检查吗
E 是否可以强制异常发生
P 性能问题

maven 入门例子

maven 引入

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

方法

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

测试方法

import org.junit.Test;
import static org.junit.Assert.*;

public class CalculatorTest {

    @Test
    public void testAdd() {
        // Arrange
        Calculator calculator = new Calculator();

        // Act
        int result = calculator.add(3, 7);

        // Assert
        assertEquals(10, result);
    }
}

CalculatorTest 类包含了一个测试方法 testAdd,用于测试 Calculator 类的 add 方法。

@Test 注解表示这是一个测试方法。

在测试方法中,我们首先创建了一个 Calculator 对象,然后调用 add 方法进行加法操作。

最后,使用 assertEquals 断言来验证计算的结果是否符合预期值。

运行测试类

在 IDE 中,通常有一个 "Run" 或 "Debug" 按钮,可以直接运行测试类。

也可以通过

mvn test

统一执行测试用例

验证结果

测试运行后,IDE 会显示测试结果。

如果测试通过,你将看到一个绿色的标志;如果测试失败,将会显示红色的标志,并且会提供详细的失败信息。

我们自己的测试例子

  • 我们创建一个用于学生的测试类;
public class StudentTest extends TestCase {
    public void testCreate() {
        Student student =  new Student("Mike");
    }
}
  • Student class
public class Student {
    private String name;

    public Student(String name) {
        this.name = name;
    }

    public String getName() {
        return "ryo";
    }

    public void setName(String name) {
        this.name = name;
    }
}

当我们运行 StudentTest 时,

接着,我们修改测试代码。

public class StudentTest extends TestCase {
    public void testCreate() {
        Student student =  new Student("Mike");
        String name = student.getName();

        assertEquals("Mike", name);
    }
}

result

Usage

  • Add jars in IDEA
File --> Project Structure  [crtl+alt+shift+s] --> Libraries --> "+"---> "Attach Files or Directories"
  • setUp()

Now we add a new class Course.

public class Course {
    private String name;
    private int num;

    public Course(String name, int num) {
        this.name = name;
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public int getNum() {
        return num;
    }
}

test class like this...

public class CourseTest extends TestCase {
    public void testCreateNum() {
        Course course = new Course("Math", 1);
        assertEquals(1, course.getNum());
    }

    public void testCreateName() {
        Course course = new Course("Math", 1);
        assertEquals("Helo", course.getName());
    }
}
Course course = new Course("Math", 1);

我们已经写了两次,有没有更简单的方法?

现在,我们可以使用 setUp() 来帮助我们更轻松地进行测试;setUp() 中的内容将在每个测试方法执行之前调用。

public class CourseTest extends TestCase {
    private Course course;
    public void setUp() {
        course = new Course("Math", 1);
    }

    public void testCreateNum() {
        assertEquals(1, course.getNum());
    }

    public void testCreateName() {
        assertEquals("Helo", course.getName());
    }
}
  • tearDown()

    此外,tearDown() 将在每个测试方法执行之后调用。

  • @Before

    @Before 注解的方法在每次测试之前执行;同样,@After 在每次测试之后执行。

  • @BeforeClass

    只运行一次,并且是唯一的。

相关文章

  • 单元测试框架:Robolectric

    前言 前面我们介绍了单元测试框架 JUnit 和 Mockito 的使用(详情查看:单元测试框架:JUnit,单元...

  • Junit4 Test 详解

    [TOC] 介绍 Junit4 是在 Junit3 基础上改进的单元测试框架 junit4 不需要继承 TestC...

  • Instrumentation

    1、Instrumentation单元测试框架,基于Junit;Junit是java单元测试根本 2、想要进行自动...

  • android 单元测试

    单元测试的重要的和必要性这里不在强调,本文介绍几个常用的单元测试的框架 JUnit4 JUnit4是一个java的...

  • Android单元测试(一)

    本文介绍了Android单元测试入门所需了解的内容,包括JUnit、Mockito和PowerMock的使用,怎样...

  • Junit

    Junit 1.简介 Junit是java程序的单元测试框架,包含于xunit系列框架 2.Junit使用 2.1...

  • Android单元测试 - 如何开始?

    回顾: 《谈谈为什么写单元测试》 基本单元测试框架 Java单元测试框架:Junit、Mockito、Powerm...

  • Junit4集成到Maven工程

    1.说明 Junit是Java中最常用的单元测试框架,这里介绍的是Junit4,开源项目地址:Github Jun...

  • 第一本技术书籍《软件自动化测试开发》--知识点03单元测试Jun

    本篇将会主要对单元测试的主流框架 JUnit 和 TestNG做由浅入深的介绍单元测试概述单元测试是用来对一个模块...

  • Android单元测试(六):Mockito学习

    前面花了很大篇幅来介绍JUnit4,JUnit4是整个单元测试的基础,其他的测试框架都是跑在JUnit4上的。接下...

网友评论

      本文标题:test-01-java 单元测试框架 junit 入门介绍

      本文链接:https://www.haomeiwen.com/subject/gmhpndtx.html