• 1
  • 1
分享

1.测试分类:

(1)黑盒测试:

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

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

(2)白盒测试:

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

2.Junit的使用:

Junit是白盒测试

(1)@Test的使用

1.定义一个类

先在类中定义方法

package cn.junit;
/*
* 计算器类
* */
public class Calcuator {
/*
* 加法
*/
   public int add(int a,int b)
   {
        return a+b;
   }
   /*
   减法
    */
   public int sub(int a,int b)
   {
       return a-b;
   }
}

2.再定义一个测试类

1.png

package cn.test;
 
import cn.junit.Calcuator;
import org.junit.Test;
 
public class CalculatorTest {
    /*
    测试add方法
     */
        @Test
    public void testAdd()
    {
        //创建计算器对象
        Calcuator c=new Calcuator();
        //调用方法
        int ad = c.add(1, 2);
        System.out.println(ad);
    }
 
}

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

 点一下旁边小灯泡

2.png

就会自动导包

3.png

3.断言操作

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

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

package cn.test;
 
import cn.junit.Calcuator;
import org.junit.Assert;
import org.junit.Test;
 
public class CalculatorTest {
    /*
    测试add方法
     */
        @Test
    public void testAdd()
    {
        //创建计算器对象
        Calcuator c=new Calcuator();
        //调用方法
        int ad = c.add(1, 2);
        Assert.assertEquals(3,ad);
        // System.out.println(ad);
    }
 
}

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

断言失败样例:

4.png

断言成功样例:

5.png

(2)@Before和@After

1.@Befor

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

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

注解后会在@Test前先执行

2.@After

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

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

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

3.代码测试

package cn.test;
 
import cn.junit.Calcuator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
 
public class CalculatorTest {
  
    @Before
    public void testinit()
    {
        System.out.println("init...");
    }
    @After
    public void close()
    {
        System.out.println("close.....");
    }
    /*
      测试add方法
       */
        @Test
    public void testAdd()
    {
        //创建计算器对象
        Calcuator c=new Calcuator();
        //调用方法
        int ad = c.add(1, 2);
        //Assert.assertEquals(3,ad);
        System.out.println("testadd进行时");
        //  System.out.println(ad);
    }
    /*
    * 测试sub方法
    * */
    @Test
    public void testsub()
    {
        Calcuator c=new Calcuator();
        int sub = c.sub(1, 2);
        System.out.println("testsub进行时");
        //System.out.println(sub);
    }
 
}

4.测试结果

(1)测试add方法

7.png

(2)测试sub方法

8.png

3.Junit总结 

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

(2)参数列表为空参

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

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

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

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

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

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


作者:&volume

原文链接:https://blog.csdn.net/m0_61469860/article/details/125424502

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   当前测试市场技术发生了什么变化?  自2018年,软件测试就业市场发生了变化。因为随着国内互联网的发展,测试越来越重要,根据业务的不同,导致发展方向越来越多,细分职能越来越多,请看下图:  所以市场上对软测技能要求也是水涨船高,企业更需要的是全栈型测试,或懂得多种测试技能,以提高人效。早期功能测试打天下,撸起袖子就是点的时代早已一去不复返,如果你刚入行也许认为我还能点点点,那么你可能很快会被行业淘汰,从入门到失业你做到了无缝衔接。  未来路如果想走的更好,我们有必要深入了解下软件测试行业未来发展趋势,让我们一起来拥抱变化:  趋势1.功能测试虽然是测试的核心,但提供的价值日益降低。当前行业...
            0 0 1304
            分享
          •   “上知天文、下知地理”成为现实,一款叫做“ChatGPT”的人工智能聊天机器人(10.010,0.00,0.00%)于近期横空出世,不仅迅速火爆美国科技和创投界,也在中国引起不小热度。  目前在美国硅谷工作的庞琳勇是斯坦福大学博士、连续创业者,日常工作涉及大量英语交流,他告诉第一财经记者,ChatGPT在书写邮件、校对文书方面表现出色,已经成为他的日常使用工具。“经ChatGPT润色的文章更加地道、优雅,美国人看不出是外国人写的。你要是找专人帮你校对,需要支付高额报酬,ChatGPT不仅能够做到,而且目前是免费的。”  当然,ChatGPT的能力远不止于此。除了聊天、翻译、写作等功能,脑洞...
            0 0 985
            分享
          • 读者提问:手机滚动截屏软件有推荐的吗 ?阿常回答:1、第三方软件:滚动截屏(iPhone)2、iOS 13 自带的长截图功能(iPhone)3、微信自带的图片合成功能(我 → 收藏 → 右上角+号,在笔记页面里可以导入多张截屏图片,再将这个笔记导出为图片就是一张长图了。)4、大多数安卓手机自带的长截图功能(Android)5、第三方软件:滚动截屏长截图(Android)6、第三方软件:截图大师(Android)阿常碎碎念:阿常平时会使用方法 1 更多一些,大家可以根据自己所用机型来选取合适的截屏方法。看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家私信阿常,一起探讨交流。
            0 0 1388
            分享
          • 数据库数据库视图:视图是从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。(视图相当于一个查询语句,它不占有存储空间)。游标:游标是一段私有的SQL工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解就是将受影响的数据暂时放到了一个内存区域的虚表中,而这个虚表就是游标。?游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。数据库表:在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。(表是真实存在, 它占存储空间)存储过程:一组为了完成特定功能的SQL语句集(或者自定义数据库...
            0 0 1878
            分享
          •   某项目组正工作得热火朝天的时候,突然接到一个紧急任务:两天后领导要给客户演示一项新功能,必须要两天内高质量上线。  项目组全部成员就开始集中火力全力支撑此紧急任务,除了赶工外,还把原本计划的功能很大部分挪到下一个阶段。  最后这种顶着压力上线的任务质量堪忧,甚至可能成为一个恶性循环。  相信类似的经历,很多项目组都会遇到,并且在敏捷文化盛行的今日,需求快速变化,快速占领市场几乎是软件行业的家常便饭。  而作为软件测试人员来说,如何能够保证紧急任务来临时,避免成为交付的最大的瓶颈是一个较大的考验。测试人员在完成任务的同时更应该去思考如何形成处理这种紧急任务的操作流程。  心理准备工作  所谓...
            1 1 947
            分享
      • 51testing软件测试圈微信