首页 > 编程语言 >1:Unit test and main function-Java API 实战

1:Unit test and main function-Java API 实战

时间:2022-11-11 10:39:17浏览次数:73  
标签:function Java sum jar public API 测试 main Junit


目录

  • ​​1. 抛出企业问题,脱离main测试,模块化编程​​
  • ​​2. Junit单元测试的含义和用途​​
  • ​​3. 怎么获取各种Jar包?Maven Repository 获取各类各个版本的jar,这就是仓库。脱离老师发送给你的jar。​​
  • ​​4. 使用Junit​​
  • ​​5. Assert断言​​
  • ​​6. 更进一步,合理编写随机测试,完善代码案例​​

1. 抛出企业问题,脱离main测试,模块化编程

main方法是什么?

  • ​main​​方法就是进入程序的一扇门,而这个门只负责开和关,打开门可以实现某些功能,但这些功能只由门里面的东西来决定,而不是门
  • ​main​​​是一个程序的入口点,而不应该是处理逻辑或者功能模块的点,​​main​​​方法中的语句不应该有逻辑性的语句,而且代码应该是非常之少的,更复杂的东西不应该出现在​​main​​​里,应该抽离​​main​
//以往的方式
public static void main(String[] args) {

//2.本地测试

//3.调用函数

//4.看输出,查看结果是否符合预期

//5.预期结果和测试结果是通过人工计算的

//1.编写功能函数(方法)
}

2. Junit单元测试的含义和用途

在项目中也只有一个main函数,但是一个项目是由多人完成的,我们不能总是合并全部的工作测试,然后再修改,这个问题如何解决呢?

  • Junit单元测试,即测试框架
  • “单元测试”很容易想到小学的英语单词单元听写,单元就是将一个大的块头分小,测试看是否与预期相同。小学一本英语教材有100个单词,分成五个单元去背,然后老师在一定的时间内听写这个单元的单词,查看学生掌握程度,就是单元测试
  • 在面向对象的过程中也是一样,将一个程序划分成单个类和单个方法,需要对这些方法进行测试看是否达到预期

3. 怎么获取各种Jar包?Maven Repository 获取各类各个版本的jar,这就是仓库。脱离老师发送给你的jar。

Junit的Java包下载详见:maven repository-JUnit

1:Unit test and main function-Java API 实战_java

4. 使用Junit

1.导入jar包

在​​Dome​​​中​​New​​​一个​​Directory​​​,命名为​​lib​

1:Unit test and main function-Java API 实战_jar包_02

将桌面上的​​jar​​​包直接拖拽到​​lib​​中

1:Unit test and main function-Java API 实战_单元测试_03


右键单击​​jar​​​包​​Add as library ...​

1:Unit test and main function-Java API 实战_main方法_04

2.Junit的使用

先创建一个类专门用来对另外一个类做测试

1:Unit test and main function-Java API 实战_jar包_05

在非测试类中编写方法, 在编写方法体时要​​static​​​和​​return​

package com.study.shea;

public class Calc {
public static int sum (int numberA, int numberB){
return numberA + numberB;
}
}

使用注释​​@Test​​调用Junit

package com.study.shea;

import org.junit.Test;

public class CalcTest {

@Test//使用这条注释来调用函数
public void sum(){
int sum = Calc.sum(1,2);
System.out.println("sum = " + sum);
}
}

最后的预期结果会显示在原来的调试框中

1:Unit test and main function-Java API 实战_单元测试_06

遗留问题:测试的结果还是人工计算,并不是计算机帮忙完成的

5. Assert断言

在上面的操作中我们已经脱离了​​main​​​方法的测试,但是还是没有脱离​​print​​​打印的测试,这时就要用到Junit的断言测试方法​​Assert.assertEquals()​​,用来比较预期值与结果的差别

在这个测试过程中我们没有自己进行计算,没有使用​​main​​​方法运行,也没有使用​​print​​进行打印,最后的结果就是测试的通过

1:Unit test and main function-Java API 实战_jar包_07

1:Unit test and main function-Java API 实战_main方法_08

但是这个测试还是十分有限的,如果只有​​1+2​​可以通过,那这个函数还是有问题的

6. 更进一步,合理编写随机测试,完善代码案例

进行随机测试,给的数是随机的,并不由人工干预,这样可以使得测试会更有说服力

1:Unit test and main function-Java API 实战_jar包_09

同时,各测试之间互相并不干扰,​​sub​​​和​​sum​​测试可以同时进行,当有一个测试出错时,并不会影响到另外一个函数的测试

1:Unit test and main function-Java API 实战_单元测试_10

1:Unit test and main function-Java API 实战_java_11


标签:function,Java,sum,jar,public,API,测试,main,Junit
From: https://blog.51cto.com/u_15872973/5843034

相关文章

  • 4:File-Java API 实战
    目录​​1.引言​​​​2.绝对路径和相对路径?先学送快递吧!​​​​3.绝对路径​​​​4.相对路径​​​​5.File类​​​​6.Linux上的绝对路径有所不同​​1.引言文......
  • 1:Web开发入门-Java Web
    目录​​1.1什么是Web应用程序​​​​1.2B/S架构​​​​1.3静态Web与动态Web​​​​1.4JavaEE介绍​​​​1.5JavaEE架构与组件​​​​1.6JavaEE中的容器​​......
  • 一带而过-Java与生活
    目录​​认识Java​​​​0-0前言​​​​1-1Java是怎么执行的?说好的exe呢?​​​​1-2package​​​​1-3第一个程序的讲解​​​​1-4注释和文档​​​​2-0一带而过......
  • 1:Spring框架核心-Java Spring
    目录​​1.1软件模块化​​​​1.2Spring框架介绍​​​​1.3Spring框架的配置​​​​1.4Servlet​​​​1.5Spring容器​​​​1.6SpringBean对象的注解​​​​1.......
  • 3:Tomcat部署Web项目-Java Web
    目录​​3.1Web应用程序​​​​3.2部署Web项目​​​​3.3配置虚拟目录​​​​3.4配置Web项目的首页​​3.1Web应用程序一个web应用程序是由一组Servlet,HTML页......
  • 3:SpringBoot-Java Spring
    目录​​3.1SpringBoot介绍​​​​3.2Spring和SpringBoot的区别​​​​3.3系统要求​​​​3.4SpringBootApplication​​3.1SpringBoot介绍SpringBoot的本质是Sprin......
  • 4:SpringBoot-Starter-Java Spring
    目录​​4.1SpringBoot-Starter介绍​​​​4.1Starter原理​​​​4.3Starter依赖引入​​​​4.4Starter配置​​4.1SpringBoot-Starter介绍Starter是SpringBoot的一......
  • Java多线程 CompletionService和ExecutorCompletionService
    目录​​一、说明​​​​二、理解​​​​三、实现​​​​1.使用Future​​​​2.使用ExecutorCompletionService​​​​3.take()方法​​​​4.poll()方法​​​​5.pol......
  • 5:SpringBoot-Actuator-Java Spring
    目录​​5.1SpringBoot-Actuator介绍​​​​5.2Endpoints介绍​​​​5.3Actuator原理​​​​5.4Actuator依赖引入​​5.1SpringBoot-Actuator介绍Actuator是Spring......
  • Java Lambda 表达式
    目录​​一、说明​​​​二、理解​​​​三、演示​​​​1.常规方法实现​​​​2.静态内部类​​​​3.局部内部类​​​​4.匿名内部类​​​​5.Lambda表达式​​​​......