一、断言

1、概述

根据之前的条件来对后续的结果进行预判。

2、在Java中,断言默认是不开启的,需要手动进行开启,只需添加参数-ea(enable assert的意思)

开启步骤:

  • 选中项目路径,鼠标右键进入到Properties
  • 进入到如下目录,按图示进行设置

  • 进入到java设置界面,按照如下图所示逐步设置,并保存

3.断言的使用格式

assert判断条件;或者assert判断条件:提示信息;

当项目调试完毕,直接手动将断言关闭即可。用作代码调试非常方便。

示例如下:

public static void main(String[] args) {
System.out.println("请输入一个大于10的数:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
n +=5; assert n > 15:"需要一个大于10的值";
n *= 3;
System.out.println(n);
}

二、单元测试

1、概述

单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的。

2、Java单元测试的特点

  1. 在需要测试的方法之上要添加注解@Test
  2. @Before表示在测试方法之前执行,一般用于进行初始化操作
  3. @After表示在测试方法之后执行,一般用于进行资源的销毁和回收
  4. 三无原则

a、要求被测试的方法没有参数

b、要求被测试的方法没有返回值 ---返回值类型必须是void

c、要求被测试的方法必须是非静态方法

5. 单元测试方法既可以多个执行也可以鼠标右键单个执行。

java单元测试示例:

public class JunitDemo {

    //1.  测试需要初始化的方法
FileWriter writer;
//对于多个方法执行前要执行的方法加上该注解,就可以提前执行
@Before
public void init() throws IOException{
//true表示允许追加
writer = new FileWriter("D:\\test.txt",true);
}
@Test
public void writerHello() throws IOException {
writer.write("hello");
}
@Test
public void writeJava() throws IOException {
writer.write("java");
}
@After
public void close() throws IOException {
writer.close();
} //2. 测试无参方法
@Test
public void m() {
System.out.println(10 /0);
System.out.println("running~~`");
} public int sum(int i, int j) {
return i + j;
} public double sum(double i, double j) {
return i + j;
} //3. 测试带参数方法的方式
@Test
public void test() {
System.out.println(sum(2,3));
System.out.println(sum(2.0,3.0));
}
}

总结:以上就是除了Debug之外,常用的两种java调试方法。

Java中调试与测试常用方法的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. Java 中的 String 类常用方法

    字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. Strin ...

  3. Java中遍历Map的常用方法

    以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等): 方式一(推荐): // 推荐 // 在for-each循环中使用entr ...

  4. java 中String类的常用方法总结,带你玩转String类。

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  5. java 中String类的常用方法总结,玩转String类

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  6. java中使用junit测试

    最初写代码只要功能走通就不管了,然后如果出了什么问题再去修改,这是因为没做测试的工作.测试其实很简单. 1.准备 当前使用idea编写代码,用maven构建工程,使用maven的test功能来进行批量 ...

  7. Java中String类的常用方法

    判断功能的方法 public boolean equals (Object anObject) :将此字符串与指定对象进行比较. public boolean equalsIgnoreCase (St ...

  8. Java中BigDecimal类的常用方法

    1.简介 BigDecimal类位于java.math.BigDecimal包下.使用此类可以完成大的小数操作,而且也可以使用此类进行精确的四舍五入,这一点在开发中经常使用. 对于不需要任何准确计算精 ...

  9. Java中TimeZone类的常用方法

    一.TimeZone类的定义 TimeZone类是一个抽象类,主要包含了对于时区的各种操作,可以进行计算时间偏移量或夏令时等操作 二.TimeZone类的常用方法 1.getAvailableIDs( ...

随机推荐

  1. 【剑指Offer面试编程题】题目1367:二叉搜索树的后序遍历序列--九度OJ

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 输入: 每个测试案例包括2行: 第一行为1个整数 ...

  2. 2020 NUC 19级第一次训练赛

    感染(low) Description n户人家住在一条直线上,从左往右依次编号为1,2,...,n.起初,有m户人家感染了COVID-19,而接下来的每天感染的人家都会感染他家左右两家的人,问t天后 ...

  3. Intent的常用属性action和category

    设置隐式跳转 首先在我们按钮监听器中添加 Intent i=new Intent(); //参数为字符串,可以添加包名.活动名 i.setAction("com.example.aaaaa. ...

  4. CNN反向传播算法过程

    主模块 规格数据输入(加载,调格式,归一化) 定义网络结构 设置训练参数 调用初始化模块 调用训练模块 调用测试模块 画图 初始化模块 设置初始化参数(输入通道,输入尺寸) 遍历层(计算尺寸,输入输出 ...

  5. eclipse js文件无法保存错误

    错误信息如下 Save Failedjdk.nashorn.internal.runtime.ECMAException.getEcmaError()Ljava/lang/Object; 网上多番查找 ...

  6. Linux CentOS7 VMware 相对和绝对路径、cd命令、mkdir/rmdir、rm命令——笔记

    一. 相对和绝对路径 绝对路径是从/(也被称为根目录)开始的,比如/usr.cd /root/ pwd 注:判断用户当前所处的位置 相对路径是以 . 或 .. 开始的 二.cd命令 cd 是进入到当前 ...

  7. Manjro i3 桌面 添加输入法 及无声音配置方法(This sound device does not have any capture controls.问题)

    一.i3桌面添加输入法 1.把配置写在 /etc/environment中 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XM ...

  8. idea2019 jsp页面加载不到静态文件原因No mapping found for HTTP request with URI

    最近在使用idea2019 学习ssm,但是发现我在项目引用的静态文件怎么都无法加载出来,找了很久才解决~~ 给上目录结构图: 第一种:使用 ${pageContext.request.context ...

  9. 第二单元总结:基于synchronize锁的简单多线程设计

    单元统一的多线程设计策略 类的设计 电梯 每部电梯为一个线程. 电梯从调度器接收原子指令,知晓自己的状态(内部的人/服务的人.运行方向.所在楼层) 原子指令包括且仅包括: 向上走一层 / 向下走一层 ...

  10. python format使用方法

    #使用format 方法进行格式化 print("The number {1:} in hex is: {1:#x}, the number {0:} in oct is {0:o}&quo ...