• 单元测试 :Junit框架


    需要学习

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O2inbOw8-1668651406827)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116170735524-1026737199.png)]

    Junit框架

    1. 单元测试概述

    1.1 概述

    • 单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。

    1.2 目前测试方法是怎么进行的,存在什么问题

    1. 只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响。
    2. 无法得到测试的结果报告,需要程序员自己去观察测试是否成功。
    3. 无法实现自动化测试。

    1.3 Junit单元测试框架

    • JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。
    • 此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试,JUnit目前最新版本是5。

    1.4 JUnit优点

    1. JUnit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法。
    2. Junit可以生成全部方法的测试报告。
    3. 单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IqXGm7uy-1668651406828)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116171104002-26588399.png)]

    1.5 Junit单元测试是做什么的?

    测试类中方法的正确性的。

    2. 单元测试快速入门

    2.1 JUnit单元测试的实现过程是什么样的?

    1. 必须导入Junit框架的jar包。
    2. 定义的测试方法必须是无参数无返回值,且公开的方法。
    3. 测试方法使用@Test注解标记。

    2.2 JUnit测试某个方法,测试全部方法怎么处理?成功的标志是什么

    1. 测试某个方法直接右键该方法启动测试。
    2. 测试全部方法,可以选择类或者模块启动。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t1Z1BTWW-1668651406828)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116171312435-666249499.png)]

    2.3 代码演示

    @Test
        public void testLoginName() {
            UserService userService = new UserService();
            String rs = userService.LoginName("admin" , "123456");
    
            // 进行预期结果的正确性测试 :断言
            Assert.assertEquals("你的登陆业务可能出现问题" , "登陆成功" , rs);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    成功
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-atorC61o-1668651406987)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116171354562-208134870.png)]

    失败

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5i3jyTMl-1668651406828)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116171514143-1041678486.png)]

    3. 单元测试常用注解

    3.1 Junit常用注解(Junit 4.xxxx版本)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UHJtuoPv-1668651406829)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116171544391-655908280.png)]

    1. 开始执行的方法:初始化资源。
    2. 执行完之后的方法:释放资源。

    3.2 常用注解演示

    @Test : 测试方法

    @Test
        public void testLoginName() {
            UserService userService = new UserService();
            String rs = userService.LoginName("admin1" , "123456");
    
            // 进行预期结果的正确性测试 :断言
            Assert.assertEquals("你的登陆业务可能出现问题" , "登陆成功" , rs);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    @Before : 用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次。

     @Before
        public void befor() {
            System.out.println("===bofor方法执行一次===");
        }
    
    • 1
    • 2
    • 3
    • 4

    @After : 用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次。

    @After
        public void after() {
            System.out.println("after方法执行一次");
        }
    
    • 1
    • 2
    • 3
    • 4

    @BeforeClass : 用来静态修饰方法,该方法会在所有测试方法之前只执行一次。

    // 修饰静态方法
        @BeforeClass
        public static void beforeClass() {
            System.out.println("boforeClass方法执行一次");
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    @AfterClass : 用来静态修饰方法,该方法会在所有测试方法之后只执行一次

    @AfterClass
        public static void afterClass() {
            System.out.println("afterClass方法执行一次");
        }
    
    • 1
    • 2
    • 3
    • 4

    3.3 运行结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DVq5qmPW-1668651406829)(https://img2022.cnblogs.com/blog/2942345/202211/2942345-20221116172150472-1169292270.png)]

    afterClass() {
    System.out.println(“afterClass方法执行一次”);
    }

    
    ### 3.3 运行结果
    
    [外链图片转存中...(img-DVq5qmPW-1668651406829)]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    解决Springboot项目打成jar包后获取resources目录下的文件报错的问题
    Web实战:基于Django与Bootstrap的在线计算器
    Windows11安装配置Git
    AXS2030 5.2W 单通道 AB/D 类音频功率放大器
    VMware Workstation虚拟机安装 CentOS 7.9 后ping ip地址出现错误:Network is unreachable
    MyBatis-Plus——代码自动生成器
    js中的事件循环机制(宏任务和微任务)
    有 Docker 谁还在自己本地安装 Mysql
    画图时使用的函数和一些错误处理
    vim快捷指令
  • 原文地址:https://blog.csdn.net/qq_60740014/article/details/127898804