• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   日常大家聊天时经常提及一个关键词——大环境不好,由此带来了很多行为的变化,有的人迷茫,有的人躺平。本文给大家介绍发生在我身上和身边的真实案例,希望能带给你一些输入。  案例一:曾经的我也极度焦虑  我是2008年参加工作的,届时正处于美国次贷危机中,危机产生的影响是全球范围的。时常看到新闻上有各种公司倒闭的信息,周围人也经常讨论找工作的不易,大环境的惨烈程度与近两年无异。我作为一个职场新鸟,每天极度焦虑,生怕公司会倒闭。每天有大量时间是焦虑不安的精神内耗状态,产生的影响是做事儿没有规划、学习动力不足、容易走神儿、爱做简单的、机械的事儿、不自信等。经过了好长一段时间,我觉得这种状态对我的负向...
            0 0 497
            分享
          • 一、什么是测试报告?测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件存在的质量问题提供依据,同时为软件验收和交付打下基础。二、测试执行和结束的准则1、测试执行的结束的原因1)测试达到预期目的后,按计划结束2)受时间进度、资源的限制,考试被迫结束2、测试执行结束后1)在测试计划中明确说明测试结束的条件2)Good-Enough原则3)结束条件的判定是在质量和成本之间的折衷4)指定的时间段内没有发现新的缺陷5)基于成本的考虑(不适用武器、医疗设备)3、测试执行结束后1)达到了覆盖率的要求2)单元测试:语句覆盖、…3)集成测试:API、参数组合…4)系统测试:功能、用例...
            0 0 2389
            分享
          • 读者提问:今天刚刚接到一个项目,项目经理让我们评估测试时间,但我需求还没搞明白,实在不知道怎么评估测试时间呢,阿常能给我支支招吗 ?阿常回答:告诉你一个大多数团队都通用的测试时间评估法则:开发时间的 1/3 ~ 1/2。1、不怎么复杂的项目,测试时间一般按照开发时间的 1/3 来评估。2、稍微复杂一点的项目,测试时间一般按照开发时间的 1/2 来评估。阿常碎碎念:对于以上测试时间的评估,可依据实际项目中可能发生的测试风险,酌情再增加 20%。比如,实际测试下来发现 BUG 很多,开发修复时间长,测试需要等待开发提测新版本;比如实际测试过程中测试人员有变动,原来熟悉这个项目的测试人员休...
            0 0 3619
            分享
          •   1 引言  伴随着时代的不断发展,汽车由最开始的奢侈品逐渐发展成为现在家家户户普遍使用的交通工具,已经成为了人们日常生活中不可缺少的代步工具,并且在各行各业的发展过程中也得到了有效的应用,在一定程度上为行业的发展提供了帮助。虽然汽车的出现为人们的生活与行业的发展带来了极大便利,但是随着汽车数量的不断增长,汽车排放的尾气对环境造成的污染不容小觑,甚至严重的污染了空气,对人们的身体健康产生了影响,因此,要采取一定的措施减少汽车尾气对环境的污染。伴随着科技水平的不断进步,新能源汽车出现在人们的视野中,新能源汽车有着先进的底盘技术,能够有效减少尾气的排放,大大降低汽车对环境的污染,不仅能够为人们的...
            0 0 715
            分享
          • 接口测试和功能测试虽然都属于软件测试的范畴,但两者的测试目的、测试内容和测试重点都有所不同。那今天我将接口测试和功能测试配合实例为大家介绍这两种测试的区别,以 Apifox 这个最近风头很大的接口测试软件进行讲解。一、测试目的不同接口测试的目的是测试应用程序的接口是否能够按照规范要求与其他系统或组件进行交互,以及在不同负载条件下接口的稳定性、性能和安全性。功能测试的目的则是为了确保应用程序的功能符合规格说明书或需求文档中的规定。Apifox 是一个在线接口测试平台(但其实也有桌面端啦),它的主要目的是为了帮助测试人员快速创建和执行接口测试用例,验证接口的正确性和稳定性。通过使用 Apifox,...
            0 0 860
            分享
      • 51testing软件测试圈微信