• Junit单元测试


    目录

    1.测试分类:

    (1)黑盒测试:

    (2)白盒测试:

    2.Junit的使用:

    (1)@Test的使用

    1.定义一个类

      2.再定义一个测试类

    3.断言操作

    (2)@Before和@After

    1.@Befor

    2.@After

    3.代码测试

    4.测试结果

    3.Junit总结 


    1.测试分类:

    (1)黑盒测试:

    不需要写代码,给输入值,看程序是否输出期望的值

    大部分都在使用黑盒测试,就是根据你写的代码进行测试

    (2)白盒测试:

    需要写代码,关注程序的具体的执行流程

    2.Junit的使用:

    Junit是白盒测试

    (1)@Test的使用

    1.定义一个类

    先在类中定义方法

    1. package cn.junit;
    2. /*
    3. * 计算器类
    4. * */
    5. public class Calcuator {
    6. /*
    7. * 加法
    8. */
    9. public int add(int a,int b)
    10. {
    11. return a+b;
    12. }
    13. /*
    14. 减法
    15. */
    16. public int sub(int a,int b)
    17. {
    18. return a-b;
    19. }
    20. }

      2.再定义一个测试类

    1. package cn.test;
    2. import cn.junit.Calcuator;
    3. import org.junit.Test;
    4. public class CalculatorTest {
    5. /*
    6. 测试add方法
    7. */
    8. @Test
    9. public void testAdd()
    10. {
    11. //创建计算器对象
    12. Calcuator c=new Calcuator();
    13. //调用方法
    14. int ad = c.add(1, 2);
    15. System.out.println(ad);
    16. }
    17. }

    刚加上@Test   因为没有导包是会爆红的

     点一下旁边小灯泡

    就会自动导包

    3.断言操作

     我们测试过程中往往是不要输出的,而会进行断言操作

    Assert.assertEquals(断言值,输出值);
    1. package cn.test;
    2. import cn.junit.Calcuator;
    3. import org.junit.Assert;
    4. import org.junit.Test;
    5. public class CalculatorTest {
    6. /*
    7. 测试add方法
    8. */
    9. @Test
    10. public void testAdd()
    11. {
    12. //创建计算器对象
    13. Calcuator c=new Calcuator();
    14. //调用方法
    15. int ad = c.add(1, 2);
    16. Assert.assertEquals(3,ad);
    17. // System.out.println(ad);
    18. }
    19. }

    如果两值不同,则会爆红出错

    断言失败样例:

    断言成功样例:

    (2)@Before和@After

    1.@Befor

    @Before的存在是为了让代码简洁,去重复化操作

    @Before在每个@Test注解前都要先执行的代码进行区块化,进行@Before注解

    注解后会在@Test前先执行

    2.@After

    @After的存在与@Before是相同的,都是为了使代码简洁,去重复操作

    @After是在每个@Test注解后都会执行的代码进行区块化,进行@After注解

    注解后会在@Test注解后自动执行

    3.代码测试

    1. package cn.test;
    2. import cn.junit.Calcuator;
    3. import org.junit.After;
    4. import org.junit.Before;
    5. import org.junit.Test;
    6. public class CalculatorTest {
    7. @Before
    8. public void testinit()
    9. {
    10. System.out.println("init...");
    11. }
    12. @After
    13. public void close()
    14. {
    15. System.out.println("close.....");
    16. }
    17. /*
    18. 测试add方法
    19. */
    20. @Test
    21. public void testAdd()
    22. {
    23. //创建计算器对象
    24. Calcuator c=new Calcuator();
    25. //调用方法
    26. int ad = c.add(1, 2);
    27. //Assert.assertEquals(3,ad);
    28. System.out.println("testadd进行时");
    29. // System.out.println(ad);
    30. }
    31. /*
    32. * 测试sub方法
    33. * */
    34. @Test
    35. public void testsub()
    36. {
    37. Calcuator c=new Calcuator();
    38. int sub = c.sub(1, 2);
    39. System.out.println("testsub进行时");
    40. //System.out.println(sub);
    41. }
    42. }

    4.测试结果

    (1)测试add方法

     (2)测试sub方法

    3.Junit总结 

    (1).定义测试方法时返回值要void类型

    (2).参数列表为空参

    (3).判定结果   如果出现红色则说明测试失败

                         如果出现绿色说明测试成功

    (4).一般我们会使用断言操作来处理结果

               Assert.assertEquals(断言值,输出值);

    (5).@Before修饰方法会在测试方法之前执行

    (6).@After修饰方法会在测试方法执行之后执行(无论测试是否成功都会执行);

  • 相关阅读:
    01测试基础
    浅谈HTTP缓存与CDN缓存的那点事
    1、Nginx 简介
    vue实现爱心形状的复选框
    服务器数据恢复-UNIX类文件系统软件层级故障的数据恢复可能性分析
    性能优化总结
    网络是怎样链接的--向DNS服务器查询Web服务器的IP地址
    问题记录:../../lib/libopencv_core.so: undefined reference to `dlclose‘
    OAuth2及sa-token框架实践
    python基础1.2----爬虫基础
  • 原文地址:https://blog.csdn.net/m0_61469860/article/details/125424502