二、junit接口自动化框架(二次开发)-1

二、junit接口自动化框架(二次开发)-1,第1张

一:

便捷能力:

  • 自定义注解
  • 扩展junit5
  • 报警
  • 报告
  • http
  • mysql
  • utils
  • 内部组件(略)

规范化组织:

  1. 规范约定和限制
  2. 用例格式限制和描述

基本能力:

  • 用例运行
  • 用例报警
  • 用例分级
  • 用例管理
  • 用例维护
二:新建spring boot项目

新建一个spring boot项目,项目名称为AutoApi。(注意看图

Spring Boot 我们使用2.4.4版本。这里能选到就选,选不到就随便选一个,后续我们在pom文件里改spring boot版本

Web--> 勾选 Spring Web

新建完成后,去修改 pom文件,改成2.4.4

删除这几个文件,用不到。只保留src .gitignore pom.xml三个文件

三、pom.xml文件

我提前把整个项目需要用到的依赖,先写到文件里。



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.4.4
         
    
    com.example
    AutoApi
    0.0.1-SNAPSHOT
    AutoApi
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.projectlombok
            lombok
            1.18.16
            provided
        
        
            org.springframework.boot
            spring-boot-starter-aop
        
        
            org.springframework.boot
            spring-boot-configuration-processor
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            mysql
            mysql-connector-java
            8.0.13
        
        
            org.apache.commons
            commons-lang3
            3.9
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            com.google.guava
            guava
            30.1.1-jre
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


我们基于junit进行的二次开发,所以要倒入junit包,以下四个:

        
            org.junit.jupiter
            junit-jupiter
            5.6.2
        
        
            org.junit.jupiter
            junit-jupiter-engine
            5.6.2
        
        
            org.junit.jupiter
            junit-jupiter-api
            5.6.2
        
        
            org.junit.platform
            junit-platform-launcher
            1.6.2
        

四、整个项目结构

五、junit5基本注解 5.1 @BeforeAll @BeforeEach @AfterAll @AfterEach

注意:@BeforeAll  与 @AfterAll 标签下 的两个方法,是静态方法,不然报错。

package com.example.autoapi.test;

import org.junit.jupiter.api.*;

public class Junit5Demo {

    @BeforeAll
    public static void beforeAll(){
        System.out.println("Junit5Demo.beforeAll");
    }

    @BeforeEach
    public void beforeEach(){
        System.out.println("Junit5Demo.beforeEach");
    }

    @AfterAll
    public static void afterAll(){
        System.out.println("Junit5Demo.AfterAll");
    }

    @AfterEach
    public void afterEach(){
        System.out.println("Junit5Demo.afterEach");
    }

    @Test
    public void test1(){
        System.out.println("Junit5Demo.test1");
    }

    @Test
    public void test2(){
        System.out.println("Junit5Demo.test1");
    }
}

输出结果:

Junit5Demo.beforeAll
Junit5Demo.beforeEach
Junit5Demo.test1
Junit5Demo.afterEach
Junit5Demo.beforeEach
Junit5Demo.test1
Junit5Demo.afterEach
Junit5Demo.AfterAll
 
5.2 @Tag @Timeout @Test 

每条测试case,需要打@Test

@Tag 给case打标签,比如级别P0

@Timeout 超时,单位是秒,测试case执行超过这个时间,报错

import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;

public class Junit5Demo2 {

    @Tag("P0")
    @Timeout(2)
    @Test
    public void testNormal(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("Junit5Demo2.testNormal");

    }

}

三、junit接口自动化框架-自定义注解-注解检查_傲娇的喵酱的博客-CSDN博客

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存