Java中调试与测试常用方法
一、断言
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单元测试的特点
- 在需要测试的方法之上要添加注解@Test
- @Before表示在测试方法之前执行,一般用于进行初始化操作
- @After表示在测试方法之后执行,一般用于进行资源的销毁和回收
- 三无原则
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中调试与测试常用方法的更多相关文章
- java中File类的常用方法总结
java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...
- Java 中的 String 类常用方法
字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. Strin ...
- Java中遍历Map的常用方法
以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等): 方式一(推荐): // 推荐 // 在for-each循环中使用entr ...
- java 中String类的常用方法总结,带你玩转String类。
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- java 中String类的常用方法总结,玩转String类
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- java中使用junit测试
最初写代码只要功能走通就不管了,然后如果出了什么问题再去修改,这是因为没做测试的工作.测试其实很简单. 1.准备 当前使用idea编写代码,用maven构建工程,使用maven的test功能来进行批量 ...
- Java中String类的常用方法
判断功能的方法 public boolean equals (Object anObject) :将此字符串与指定对象进行比较. public boolean equalsIgnoreCase (St ...
- Java中BigDecimal类的常用方法
1.简介 BigDecimal类位于java.math.BigDecimal包下.使用此类可以完成大的小数操作,而且也可以使用此类进行精确的四舍五入,这一点在开发中经常使用. 对于不需要任何准确计算精 ...
- Java中TimeZone类的常用方法
一.TimeZone类的定义 TimeZone类是一个抽象类,主要包含了对于时区的各种操作,可以进行计算时间偏移量或夏令时等操作 二.TimeZone类的常用方法 1.getAvailableIDs( ...
随机推荐
- zabbix server 安装部署
一:安装zabbix服务端 1.部署准备 命令:iptables -F #关闭防火墙命令:systemctl stop firewalld #关闭防火墙 设置解析,自建yum源 命令:c ...
- Linux系统chmod命令的含义和权限详解
许多喜欢使用chmod命令的用户,对chmod命令的含义和权限仍然不是很清楚,因此在使用的时候对它们造成了一定的麻烦.为了解决这些用户的迷惑,今天小编就和大家一起分享下chmod命令的含义和权限. 对 ...
- day09-Python运维开发基础(函数收集参数、命名关键字参数与返回值、函数名的特殊使用及 全局/局部变量详解)
1. 函数收集参数.命名关键字参数与返回值.函数名的特殊使用 # ### 默认形参 和 关键字实参 # 默认形参和 关键字实参 在写法上是一样 # 函数的定义处 """默 ...
- 输入、输出(iostream)
在一个程序当中输入和输出都扮演着重要的角色,所以掌握基本输入输出是入门一门语言所必不可少的.本文主要简单叙述java的输入和输出. package ios; import java.util.Scan ...
- JavaScript函数用法
本文我们来学习下js函数的一些用法. 上图的要点为: 1.函数具有属性,如foo.length和foo.name. 2.arguments是类数组,arguments.length为实参的数目. 3. ...
- The Proof of Fibonacci GCD
\[\Large \text{The Proof of Fibonacci GCD}\] \[\text{By Sangber}\] \(\text{Fibonacci Sequence}\) \(\ ...
- angularJs-服务调用与后台数据获取
可以用factory做一些后台数据的获取,例如 happyFarm.factory('seedList',['$http',function($http){ return { ge ...
- Jquery动画效果设置大全
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 设备树DTS 学习:4-编写实战
背景 讲完设备树的有关概念以及语法以后,我们接下来就让 我们的驱动 使用 设备树. ref : <内核学习笔记14:内核设备树学习>.<u-boot对设备树的支持> 测试代码 ...
- POJ 3273:Monthly Expense 二分好题啊啊啊啊啊啊
Monthly Expense Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19207 Accepted: 7630 ...