# tsuite **Repository Path**: opencloudos-testing/tsuite ## Basic Information - **Project Name**: tsuite - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2023-09-20 - **Last Updated**: 2025-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tsuite 测试套公共代码和测试函数库 ### 用例属性字段 用例属性字段使用`@关键字:`格式,当前使用的`关键字`包括: * **用例ID**,必选,tsuite创建用例时自动生成,唯一标识用例,不可修改,例如:`@用例ID: 20220418-230037-838974137` * **用例名称**,必选,可以修改,例如:`@用例名称: test-useradd-01` * **用例级别**,可选,取值范围为0-4,默认为3,例如:`@用例级别: 3` * **用例标签**,可选,用户自定义,可用于匹配用例和其他资源的关联关系,例如:`@用例标签: arch=x86_64` * **扩展属性**,可选,可有多项,用于存储自定义的用例熟悉,使用键值对的方式,例如:`@扩展属性: 用例目录=A/B/C` * **用例类型**,可选,取值范围为 功能测试、性能测试、安全测试、可靠性测试、稳定性测试、兼容性测试、界面体验测试、其他,默认为功能,例如:`@用例类型: 功能测试` * **自动化**,可选,取值0表示手动用例,1表示自动化用例,默认为1,例如:`@自动化: 0` * **超时时间**,可选,取值0表示不限制执行时间,正整数表示超时秒数,默认为0,例如:`@超时时间: 0` * **用例描述**,可选,描述用例测试内容,例如:`@用例描述: 测试系统添加用户功能` * **预置条件**,可选,可有多项,描述用例测试的必要条件,例如:`@预置条件: 系统有useradd命令` * **测试步骤**,必选,可有多项,例如:`@测试步骤: 执行命令添加tester用户:useradd tester` * **预期结果**,必选,可有多项,预期结果要在测试步骤之后,例如:`@预期结果: 用例添加成功` ### 测试套执行流程 使用tsuite执行测试套中的用例时,用例的执行流程如图所示 ![测试套执行流程](/lib/tsuite-execution-flow.png "测试套执行流程") 测试套执行中定义了多个执行时机,分别说明如下: * **ts_setup**,文件:lib/setup,测试套执行前会先执行该文件,只在第一个用例被执行前执行一次 * **tc_setup_common**,函数:定义在lib/common.[sh|c|py]文件中,所有用例执行前均会先调用此函数 * **tc_setup**,函数:定义在用例文件中,用例的tc_setup_common之后,do_test之前调用此函数 * **do_test**,函数:定义在用例文件中,用例的tc_setup之后调用此函数,用例测试逻辑在此函数中实现 * **tc_teardown**,函数:定义在用例文件中,用例的do_test之后,tc_teardown_common之前调用此函数 * **tc_teardown_common**,函数:定义在lib/common.[sh|c|py]文件中,所有用例执行结束后均会先调用此函数 * **ts_teardown**,文件:lib/teardown,测试套执行前会先执行该文件,只在所有用例执行完成后执行一次 ### 新建测试项目 测试项目示例见:https://gitee.com/opencloudos-testing/tsuite-demo.git 新建测试项目步骤如下: 1. 新建一个git仓库,例如:https://gitee.com/opencloudos-testing/example-repo.git 2. clone仓库:`git clone https://gitee.com/opencloudos-testing/example-repo.git ./example-repo` 3. 添加tsuite公共模块:`cd ./example-repo && git submodule add https://gitee.com/opencloudos-testing/tsuite.git ./common` 4. 执行初始化脚本:`./common/lib/tsuite-init.sh` 5. 提交tsuite模板文件:`git add * .gitignore && git commit -asm 'init tsuite project'`