zoukankan      html  css  js  c++  java
  • java自动化junit框架简述

      本人使用的是java的junit框架来组织的自动化测试,故我这边需要简单介绍一下junit框架
      首先,建议自行百度一下junit框架,先有一个大概的了解
      所谓的接口自动化测试,会对多个接口中每一个接口发送各式各样的请求,其主要的思维是下面的方式

      

      可以想到,我们所要模拟的测试,一般的是一套代码,部署在本地或者测试服务器上,发送请求到服务器,以上图所示的各种方式依次请求各个接口,然后再对请求后返回的数值或者其他的进行校验,达到预期即可认为本次测试通过
      那么主流的接口测试的java框架(请原谅笔者技术水平,暂时只会java)就是junit和testng了,testng是junit的升级版,他们有啥好处呢?本文大致说一下junit框架
      一般的java代码是啥样子呢?有一个mian函数来进行请求,那么上述代码的话需要3个abc3个包,在a这个文件夹之下还要有3个class来分别作a的参数组1,2,3这三种请求,在每一个请求中如果都使用相同的发送方式的话,那么每一个方法先要声明一个map,再把不同的参数组传入该map中,在进行请求并接受数据,然后再进行断言校验
      junit框架的特点是存在一些特殊的标识,如@Test@After@Before,下面将大概介绍一下~,先在ideal中的原先的shiyan的class中写下如下代码

    package zlr;

    import org.junit.*;

    public class shiyan {
    int x=0;
    static int y=0;
    @BeforeClass
    public static void setup() throws Exception
    {
    y++;
    }
    @Before
    public void setup1() throws Exception
    {
    x=x+1;
    }
    @After
    public void Teardown() throws Exception
    {
    Assert.assertEquals(x,2);
    }
    @AfterClass
    public static void setup2() throws Exception
    {
    y++;
    }
    @Test
    public void abc1() throws Exception
    {
    x++;
    System.out.println(x);
    System.out.println(y);
    }
    @Test
    public void abc2() throws Exception
    {
    x++;
    System.out.println(x);
    System.out.println(y);
    }
    }
    其中可以看到,before,after,test这几种注释,junit框架常用的注释除了这3种还有2种,BeforeClass和AfterClass,大概的执行流程图如下

      junit框架的话没有main函数,可以包含多个test注释的代码,一般的是有一定的初始化在beforeclass中,然后调用before代码,再调用第一个test代码,再调用after代码,然后又是下一次迭代,一次before,下一个test然后又是after代码,,,再各个test调用结束之后再调用afterclass代码来最后完结,其他的接口可以放在不同的class中来做,比如a.class,b.class等等

      所以在这里对a接口来说,完全可以把参数1,2,3放在不同的test中,然后再把一些初始化工作放在before和beforeclass中,数组整理与一些事后操作放在after和afterclass中这样便可以运行了

      另一方面,在上文中可以看到,代码中第一个test把x加一了,但是运行起来,从效果来看的话,很不错,x是相互独立的这也是与for循环和main函数的最大区别~

      ok,本文的目的就是科普junit框架,下一篇,我会讲如何自动运行juint框架的代码

    
    
    
  • 相关阅读:
    读取web.xml中设置的参数
    在服务端中,读取properties资源文件中的数据
    window下,nodejs安装http-server,并开启HTTP服务器
    跨域请求资源的方式
    IView 给Submenu增加click事件失效解决方案
    Vue -- mounted方法中调用methods的方法(并取出mounted方法中回调函数的值)
    IView 使用Table组件时实现给某一列添加click事件
    物联网协议CoAP协议学习
    电脑操作
    物联网协议
  • 原文地址:https://www.cnblogs.com/xuezhezlr/p/7773614.html
Copyright © 2011-2022 走看看