yongpengli-z 9b7643b22a modify v2 testcase and ci.yaml (#969) 10 月之前
..
allure-results 9b7643b22a modify v2 testcase and ci.yaml (#969) 10 月之前
src 9b7643b22a modify v2 testcase and ci.yaml (#969) 10 月之前
.gitignore 736a387aae add testcases for partition and so on . (#348) 2 年之前
README.md 10b81829e3 add concurrent testcase (#482) 1 年之前
pom.xml c9f2b40efe Modfiy testcases for java v1&v2 (#966) 10 月之前
pom.xslt bfcc316136 add modify dependency version function2 (#448) 2 年之前
testng.xml 558b934399 modify testcases and verify highlevel bug (#592) 1 年之前
testngAll.xml 10b81829e3 add concurrent testcase (#482) 1 年之前
testngConcurrent.xml 10b81829e3 add concurrent testcase (#482) 1 年之前

README.md

测试框架使用说明

简介

基于TestNG编写的的针对milvus-sdk-java测试的的自动化测试框架。

快速开始

环境准备

-安装java-sdk

-安装maven

启动 Milvus

引入MILVUS-SKD-JAVA

仓库(maven)

中央仓库


<dependency>
    <groupId>io.milvus</groupId>
    <artifactId>milvus-sdk-java</artifactId>
    <version>2.2.4</version>
</dependency>

模块介绍

文件结构

.
├── allure-result  allure报告收集的运行结果集
├── log  日志目录
├── src
    ├──java    
        ├── aop  切面编程目录
        ├── common  项目静态资源
            ├── BaseTest  封装的基础测试类   
            └── Common*  封装的测试方法和数据
        ├── entity  实体类
        ├── service  项目服务类
        ├── util  工具类
    ├── resources  资源配置文件
    └── test  测试类集
├── pom.xml 项目依赖
└──testng.xml  testng配置文件

设计思路

  • BaseTest类,继承AbstractTestNGSpringContextTests类,为每个测试类提供MilvusServiceClient,方便调用。通过@BeforeSuite提供默认的Collection、Index、Partition 等供测试类使用。

  • test文件里,每一个测试类对应一个接口,每个类之间相互解耦,非必要,不依赖。同类型接口放到同一个文件夹下。接口类的串行测试放到单独文件。

  • CommonData,CommonFunction提供公用的参数和方法。

  • tesgng.xml文件,提供测试运行配置和测试数据的参数化。

  • allure-results文件夹,负责测试运行数据的收集和测试报告的创建。

testNG介绍

常用注解:

注解 描述
@Test 标记一个类里所有的public void方法,或某个方法,作为测试案例。
@BeforeSuite 对于套件测试,在此套件中的所有测试执行之前运行,仅运行一次。
@AfterSuite 对于套件测试,在此套件中的所有测试执行之后运行,仅运行一次。
@BeforeClass 在调用当前类之前运行,只运行一次。
@AfterClass 在调用当前类之后运行,只运行一次。
@BeforeTest 对于套件测试,在属于标签内的所有类的测试方法执行之前运行。
@AfterTest 对于套件测试,在属于标签内的所有类的测试方法都已执行完之后运行。
@BeforeGroups 在调用属于该组的第一个测试方法之前运行。
@AfterGroups 在调用属于该组的最后一个测试方法执行之后运行 。
@BeforeMethod 注解的方法将每个测试方法之前运行。
@AfterMethod 在每个测试方法执行之前都会运行。
@DataProvider 标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。
@Factory 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。
@Listeners 定义一个测试类的监听器。
@Parameters 用于将参数传递给@Test方法。

代码添加

注意事項

  • 每个测试接口对应一个测试类,新增用例时,先检查是否已有对应的类。
  • 新建、删除类的的接口,使用CommonFunction里创建新的操作对象;查询、修改类接口可以直接使用BaseTest里创建的操作对象。
  • 一般情况下,不在测试用例文件中直接添加日志代码。
  • 测试用例里无需单独初始化MilvusClient。

后续工作

  • 日志功能的完善
  • 测试数据的分离实现