黑马第一天学习

  • 今日内容
    • Junit单元测试:
      • 测试分类:
      • Junit使用:白盒测试

今日内容

1.1Junit单元测试
1.2.反射
1.3.注解

Junit单元测试:

测试分类:

1.黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值
(非常简单,不用关注具体逻辑)

2.白盒测试:需要写代码的。关注程序具体的执行流程。(junit是白盒的一种)

3.两种测试的主要区别
都要关注输出是否符合期望,主要区别就是白盒测试你需要去关注程序的流程,白盒测试需要写代码,黑盒测试只需要点点点,现在社会上的测试人员大多都是黑盒测试,希望大家能成为白盒测试工程师。



在用这个计算器类之前,要测试一下。

缺点,很不方便:1.测试类要和被测试类放一起 2.每次测试一个方法,都要把其他的方法注释掉,以免产生干扰

Junit使用:白盒测试

*步骤:1,定义一个测试类(测试用例)*建议:*测试类名:被测试的类名 +Test     如CalculatorTest*包名:xxx.xxx.xx.test   如cn.itcast.test         2,定义测试方法:可以独立运行*建议:*方法名:test测试的方法名  testAdd()*建议返回值:void*建议参数列表:空参完全的独立运行,不用返回值,不用传参3.给方法加上@Test4.导入Junit依赖* 判定结果:红色:失败绿色:成功* 一般我们会使用断言操作来处理结果
Assert.assertequals(期望结果,运算结果result);

最基本的测试类
程序测试成功

使用Junit一般不看打印结果,而是看红色(错误)还是绿色(成功)

  • 一般不用输出,而是采用断言的方式
    Assert有很多函数,
    Assert.ossertEquals(3,result);//断言result为3

    白窗模糊界面是黑马网课界面
    黑窗是我本人的界面。然后改了一下皮肤,前面的看不清
    再测试一下减法。建议先看黑马网课,看一会,敲一会,因为她有很多快捷的敲代码方法

第一节课结束,展示文件目录和代码

Calculator测试类

package cn.itcast.test;import cn.itcast.junit.Calculator;
import org.junit.Assert;
import org.junit.Test;public class CalculatorTest {//老版本,用 main 函数来测试方法
//    public static void main(String[] args){
//
//        //创建对象
//        Calculator calculator = new Calculator();
//
//        //调用
//        /*
//        int result = calculator.add(1, 2);
//        System.out.println(result);//3,正确
//        */
//        /*
//        int result = calculator.sub(1, 1);
//        System.out.println(result);//0,正确
//        */
//    }/*** 测试 add 方法*/@Test//Alt + Enter 添加 Junit 依赖public void testAdd(){//System.out.println("我被执行了"); //我被执行了//1.创建计算器对象Calculator calculator = new Calculator();//调用add方法int result = calculator.add(1, 2);//System.out.println(result); // 3//3.断言,我断言整个结果为3Assert.assertEquals(3, result);}@Testpublic void testSub(){//1.创建计算器对象Calculator calculator = new Calculator();int result = calculator.sub(1, 2);Assert.assertEquals(-1, result);}
}
package cn.itcast.junit;//psvm这里不用写主函数
public class Calculator {/*** 加法* @param a* @param b* @return*///当你把方法写好后,移到方法的上面,然后敲入/**,一回车就出来了public int add ( int a , int b ){//return a + b ;//故意写错return a + b ;}/*** 减法* @param a* @param b* @return*/public int sub ( int a , int b ){return a - b ;}
}
  • 补充:
    @Before:修饰的方法会在测试方法之前被自动执行
    @After:修饰的方法会在测试方法执行之后自动执行。
package cn.itcast.test;import cn.itcast.junit.Calculator;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;public class CalculatorTest {/*** 初始化方法:*  用于资源申请,所有测试方法在执行之前都会先执行该方法*/@Beforepublic  void  init(){System.out.println("init...");}/*** 释放资源方法:*  在所有测试方法都执行完以后,都会自动执行该方法*/@Afterpublic void close(){System.out.println("close...");}/*** 测试 add 方法*/@Test//Alt + Enter 添加 Junit 依赖public void testAdd(){//System.out.println("我被执行了"); //我被执行了System.out.println("testAdd...");//1.创建计算器对象Calculator calculator = new Calculator();//调用add方法int result = calculator.add(1, 2);//System.out.println(result); // 3//3.断言,我断言整个结果为3Assert.assertEquals(3, result);}@Testpublic void testSub(){//1.创建计算器对象Calculator calculator = new Calculator();int result = calculator.sub(1, 2);System.out.println("testSub...");Assert.assertEquals(-1, result);}}

黑马Javaweb.1.1Junit单元测试相关推荐

  1. 25-day24黑马javaweb笔记-redis

    目录 25-day24黑马javaweb笔记-redis 概念 什么是NOSQL 主流的NOSQL产品 什么是Redis 下载安装 命令操作 1. redis的数据结构: 2. 字符串类型 strin ...

  2. 09-day6黑马javaweb笔记-html基础

    09-day6黑马javaweb笔记-html基础 web概念概述 Javaweb 使用Java语言开发基于互联网的项目 软件架构: C/S: Client/Server 客户端/服务器端 * 在用户 ...

  3. 黑马javaweb基础教程 综合案例代码

    跟着黑马的javaweb教程把综合案例敲了一遍,也把修改和删除功能实现了,但是有一个小bug,懒得改了,大佬可以去改好. 综合案例展示如下: 代码实现了批量删除,增加品牌,修改,删除,还有条件查询 条 ...

  4. 黑马JavaWeb学习笔记(一)

    JavaWeb 事务 事务的基本操作 START TRANSACTION ----开始事物 COMMIT --手动提交 ROLLBACK --返回 保存临时数据,方式报错导致数据错误 如果不开启事物的 ...

  5. 黑马JavaWeb全功能综合案例(element-ui+mybatis+Vue+ajax)

    目录 1,功能介绍 2,环境准备 2.1.项目结构 2.2 创建表 3.功能实现 3.1.查询所有功能 后端实现 前端实现 3.2.添加功能 后端实现 前端实现 3.3.servlet优化 代码优化 ...

  6. 20210213 黑马javaweb JDBC

    # 今日内容 1. JDBC基本概念     2. 快速入门     3. 对JDBC中各个接口和类详解 ## JDBC:     1. 概念:Java DataBase Connectivity   ...

  7. 《黑马》——C++基础入门

    <黑马>--C++基础入门 Netfishless 2020-09-05 18:32:22 88654 收藏 3458 分类专栏: C++ 文章标签: c++ 原文链接:https://w ...

  8. javaWeb基础---Jsp

    目录 1.jsp简述 2.jsp的生命周期 2.1 JSP编译 2.2 JSP初始化 2.3 JSP执行 2.4 JSP清理 3.jsp的基本语法 3.1   2种注释类型 3.2  3个脚本元素 3 ...

  9. 《JavaWeb篇》02.JDBC看这一篇就够了

    JDBC 陈老老老板 说明:在整体的复习一遍知识,边复习边总结,基础真的重要,需要注意的地方都标红了,还有资源的分享. 一起加油. 资源分享:看的黑马的视频,老师讲的特别好: 视频链接:黑马JavaW ...

最新文章

  1. 250鲁大师跑分_看了鲁大师跑分,会发现MX250独显笔记本已落伍了
  2. Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类 解决办法...
  3. Windows中断编程
  4. LeetCode Non-overlapping Intervals(dp,greedy)
  5. php 注册回调函数,PHP回调函数
  6. Python基础——PyCharm版本——第七章、面向对象编程
  7. 正则表达式零宽断言详解
  8. [剑指offer]面试题第[53-2]题[JAVA][0-n-1中缺失的数字][二分法][暴力法]
  9. python中怎么创建配置文件_如何在Django中创建配置文件注册表单?
  10. python连载第12篇 for循环 源码+ 答案
  11. 素数/质数的判断(C++)
  12. MySQL内核月报 2014.10-MySQL· 捉虫动态·binlog重放失败
  13. mysql图形界面navicat的连接
  14. Linux设备驱动——驱动模型之基本结构
  15. 在精简版的xp添加删除程序里面没有IIS的解决方法
  16. Java对接谷歌身份验证器
  17. ORAN C平面 Section Type 3
  18. Flask源码阅读(六)——Flash消息
  19. 简约好用的日期时间选择js插件
  20. java经典递归 背包问题

热门文章

  1. 知识变现海哥|知识变现的核心技能-知识转化能力
  2. 职业规划不可不读的19个案例故事
  3. error C2556: 'void __thiscall......overloaded function differs only by return type from 'int __thisc
  4. Gated-SCNN: Gated Shape CNNs for Semantic Segmentation
  5. Bootstrap-Plugin:附加导航(Affix)插件
  6. python模拟登录12306_Python模拟登录12306的方法
  7. 基于词向量的相似度短语挖掘
  8. 爬虫学习笔记1(超级详细)
  9. 毕达哥斯拉三元组poj1305
  10. 3. 通用计算机 (计算机发明的逻辑与细节)