首页 > 编程语言 >java中的单元测试

java中的单元测试

时间:2023-12-20 23:00:33浏览次数:24  
标签:java void 单元测试 junit result Test org public

通过单元测试,能更好的控制代码质量,提升代码质量,及时准确地定位bug;

在java中,JUit是最常用的单元测试工具,我们简单介绍一下他的使用:

测试类的基础结构:

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

public class MyTest {

    @Test
    public void testAddition() {
        int result = Calculator.add(2, 3);
        assertEquals(5, result);
    }

    @Test
    public void testDivision() {
        double result = Calculator.divide(6, 2);
        assertEquals(3.0, result, 0.001);
    }
}

常见的注解有@Test@Before@After@BeforeClass@AfterClass

import org.junit.Before;
import org.junit.Test;

public class MyTest {

    @Before
    public void setUp() {
        // 在每个测试方法运行前执行
    }

    @Test
    public void testSomething() {
        // 测试方法
    }
}

通过断言,我们能初步预期执行结果

import static org.junit.Assert.*;

public class MyTest {

    @Test
    public void testAddition() {
        int result = Calculator.add(2, 3);
        assertEquals(5, result);
    }

    @Test
    public void testNotNull() {
        Object obj = new Object();
        assertNotNull(obj);
    }
}

参数化测试

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

public class ParameterizedTestExample {

    @ParameterizedTest
    @CsvSource({ "1, 2, 3", "0, 0, 0", "-1, 1, 0" })
    void testAddition(int a, int b, int result) {
        assertEquals(result, Calculator.add(a, b));
    }
}


标签:java,void,单元测试,junit,result,Test,org,public
From: https://blog.51cto.com/u_16340211/8911566

相关文章

  • Java中内存四区
    这里简要说明这四个区域通常用于存储的变量类型:栈区(Stack):存放局部变量、方法参数、返回地址等。变量的生命周期与其所在的方法(函数)的调用周期一致。堆区(Heap):主要用于动态分配内存,存放由new关键字创建的对象和数组。变量的生命周期不受方法调用的限制,需要手动释放内......
  • Java序列化和反序列化 Serializable BeanUtils.copyProperties赋值属性方法
    Java序列化和反序列化SerializableBeanUtils.copyProperties赋值属性方法packagecom.example.core.mydemo.java;importcom.example.core.mydemo.json2.GsonUtils;importorg.springframework.beans.BeanUtils;importjava.io.*;/***Java序列化和反序列化Serializ......
  • Java登陆第二十六天——初识Servlet
    静态资源和动态资源静态资源程序运行之前就存在于服务器之中的资源。例如html、css、js、img、音频文件和视频文件等。动态资源不是指动画,运动的效果。程序运行之前无法确定其数据,通过代码动态的生成数据。程序运行时,通过代码生成的资源。例如Servlet、Th......
  • java,ArrayList类
    ArrayList是一个数组列表,可以将多个对象放入数组中,是一个长度可变的集合,提供了增删改查的功能。publicclassTest2{publicstaticvoidmain(String[]args){Catc1=newCat("小黑","黑色",2.2);Catc2=newCat("小白","白色",2.3);Catc......
  • Java 并发编程在生产应用场景及实战
    背景介绍为什么需要学习Java并发?从提升性能角度来说提升了对CPU的使用效率:目前生产的服务器大多数都是多核,标配的机器都是8C/16G。操作系统会将不同的线程分配给不同的核心处理,理论上,有多少核心就有多少个线程并行执行。如果没有并发编程,CPU的利用率将极大的浪费,假设当......
  • VSCode调试Javascript
    CodeRunner在应用商店中搜索CodeRunner插件进行安装。选中你要执行的Javascript脚本,右键选择RunCode,利用Console.log在下方的输出窗口里可以看到输出结果。如果不小心点击了关闭按钮X关闭了输出窗口可以点击左上方的调试控制台重新打开。通常我用它快速输出一段JS代码......
  • java深拷贝的几种方法
    使用序列化和反序列化:将集合对象序列化为字节流,然后再反序列化成一个新的对象。这种方式需要确保集合中的所有元素都是可序列化的。importjava.io.*;publicstaticsource){try{ByteArrayOutputStreambyteOut=newByteArrayOutputStream();ObjectOutputStreamout=new......
  • Java网络IO-BIO
    JavaBIO就是传统的JavaI/O编程BIO(BlockingI/O):同步阻塞,服务器实现:一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理。单线程情况下,只有一个线程可以处理客户端请求,也就是同时只能连接一个客户端。优化点:可以通过线程池机制改善,实现多个客户端连......
  • beanshell导入java文件
    beanshell导入java文件beanshell可以读取class格式的文件步骤:    a、添加BeanShell预处理程序    b、请求调用   beanshell可以读取java格式的文件步骤:    a、添加BeanShell预处理程序    b、请求调用  ......
  • 基于java语言开发的医院绩效核算系统源码
    医院绩效考核系统全套源码,医院绩效核算系统源码,java语言开发    医院绩效考核系统可根据工作绩效考核管理规定,配置相应的绩效考核模型,从工作量统计、核算维度、核算权重三方面计算工作绩效,利用数据处理和数据分析的支撑作用,实现对工作量统计和绩效考核结果的统计分析展示,为......