导航菜单
首页 >  黑马java基础班考试  > 黑马就业班(01.JavaSE Java语言基础

黑马就业班(01.JavaSE Java语言基础

   1、Junit单元测试

测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 在这里插入图片描述

Junit使用:白盒测试 步骤:   1. 定义一个测试类(测试用例)

建议: 测试类名:被测试的类名Test——CalculatorTest包名:xxx.xxx.xx.test——cn.itcast.test

  2. 定义测试方法:可以独立运行

建议:方法名:test测试的方法名——testAdd() 返回值:void参数列表:空参

  3. 给方法加@Test (这个注解可以使得方法不需要在main方法中,而可以独立运行)   4. 导入junit依赖环境

判定结果:红色:失败绿色:成功一般我们会使用断言操作来处理结果Assert.assertEquals(期望的结果,运算的结果); 补充:@Before:修饰的方法会在测试方法之前被自动执行@After:修饰的方法会在测试方法执行之后自动被执行

  用普通方法测试

--------------被测类Calculator/** * 计算机类 */public class Calculator{/** * 加法 * @param a * @param b * @return */public int add (int a , int b){return a + b;}/** * 减法 * @param a * @param b * @return */public int sub (int a , int b){return a - b;}}-------------测试类CalculatorTestpackage lkj.demo1;public class CalculatorTest{public static void main(String[] args){Calculator c = new Calculator();//int result = c.add(1,2);//System.out.println(result);int result = c.sub(1, 1);System.out.println(result);/*以上的测试方法是我们以前的方法,该方法由几个缺点1、我们测试完一个方法,如果想要测试另一个方法,我们还要将一个方法注释;2、测试代码与原来的代码放在一起,不方便统一管理;3、一个类里面只能写一个main方法用于测试....很不方便 */}}

  用Junit方法测试

------------我们在src包下面再创建一个test包用于保存测试类(规范)package test;import lkj.demo1.Calculator;import org.junit.After;import org.junit.Assert;import org.junit.Before;import org.junit.Test;public class CalculatorTest{/** * 测试add方法 */@Test//注意,加这个注解是为了使得方法不依赖于main方法,方法可以独立运行//另外,为了使得方法可以运行,我们需要手动注入依赖,既“Add 'Junit4' to classpath”//想要使得这个测试方法单独运行,可以点击左边的运行按钮(当然,直接按照以前的方法运行也可以,前提是当前只有一个测试类)public void testAdd(){//System.out.println("我被执行了");//1.创建计算器对象System.out.println("testAdd...");//由于Calculator与我们的测试类不在同一个包下,我们这里需要手动导入Calculator类Calculator c = new Calculator();//2.调用add方法int result = c.add(1, 2);//System.out.println(result);/*我们使用Junit测试是不看输出的,因为输出很难看出正确与否我们一般都是看运行结果是红色还是绿色,红色代表测试结果错误,绿色代表测试结果正确一般我们会使用断言操作来处理结果Assert.assertEquals(期望的结果,运算的结果);*///如果方法的功能写错,都是代码本身是正确的,这样测试也会通过,输出并不能得到我们想要的结论//因此我们使用断言Assert.assertEquals(期望的结果,运算的结果);Assert.assertEquals(3,result);//如果功能写错,发现测试结果与期望值不相同,结果就会是红色的;如果正确就会返回绿色}/** * 减法测试 */@Testpublic void testSub(){System.out.println("testSub...");Calculator c = new Calculator();int result = c.sub(3, 2);Assert.assertEquals(1,result);}/** * 初始化方法: * 用于资源申请,所有测试方法在执行之前都会先执行该方法 */@Beforepublic void init(){System.out.println("init...");}/** * 释放资源方法: * 在所有测试方法执行完后,都会自动执行该方法 */@Afterpublic void close(){System.out.println("close...");}//不管有没有发送异常,都会执行Before与After}

2、反射补充   反射——框架设计的灵魂(这一部分主要看视频的解析)

框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制 好处:1. 可以在程序运行过程中,操作这些对象。(12.25解析)2. 可以解耦,提高程序的可扩展性。

在这里插入图片描述

  获取Class对象的方式:

1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象多用于配置文件,将类名定义在配置文件中。读取文件,加载类2. 类名.class:通过类名的属性class获取多用于参数的传递3. 对象.getClass():getClass()方法在Object类中定义着。多用于对象的获取字节码的方式 结论:同一个字节码文件(*.class)在一次程序运行过程中,只会被加载一次,不论通过哪一种方式获取的Class对象都是同一个。

  Class对象功能:

获取功能&#

相关推荐: