小言_互联网的博客

Junit单元测试

439人阅读  评论(0)

目录

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修饰方法会在测试方法执行之后执行(无论测试是否成功都会执行);


转载:https://blog.csdn.net/m0_61469860/article/details/125424502
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场