1# 测试框架 2 3### 介绍 4本示例展示测试框架中单元测试框架的使用示例。 5 6本实例用到了自动化测试框架代码部件仓arkXtest,测试框架的详细介绍[arkXtest](https://gitee.com/openharmony/testfwk_arkxtest#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) 。 7 8如需日志打印调试,需要引入日志打印接口[@ohos.hilog](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hilog.md) 。 9 10单元测试用例相较于UI自动化测试用例而言更偏重于接口返回数据的校验及逻辑处理。 11 12 13### 效果预览 14不涉及 15 16使用说明 17- 将jsunit目录下的项目工程整体导入到DevEco Studio开发工具中。 18- 查看ohostest目录下的测试代码实现。 19- 在DevEco Studio中执行测试用例代码查看执行效果,执行方式请[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-openharmony-test-framework-0000001263160453) 。 20 21### 工程目录 22 23``` 24jsunit 25|-----entry 26 |-----src/main/pages 27 |-----index.ets // 放页面组件 28 |-----ohosTest // 放自动化测试用例 29 |-----ets/test/basicExampleTest 30 |-----basicExampleTest.ets // 放自动化测试脚本,其中it()就是一个测试用例 31|-----AppScope 32 |-----app.json5 // 定义应用唯一的包名:"bundleName": "com.samples.test.jsunit", 33``` 34 35### 具体实现 36 37#### jsunit单元测试框架示例内容 38* 1)在entry的index.ets中放页面组件。 39* 2)在ohosTest的test/basicExample.test.ets中it()定义一条测试用例,支持三个参数:用例名称,过滤参数和用例函数。用例操作的行为以异步的形式编写。 40* 3)通过Want配置指定唯一的ability即entry:通过want()中指定bundleName:com.samples.test.jsunit和abilityName:EntryAbility。 41* 4)启动指定ability(相当于手动运行hap):通过abilityDelegatorRegistry.getAbilityDelegator.startAbility(want)。 42* 5)获取当前应用最顶层的ability对象:通过abilityDelegatorRegistry.getAbilityDelegator.getCurrentTopAbility().then((ability)=>{}) 。 43* 6)在第5步.then()中加入需要测试内容: 44 * 例如本案例中需要检验当前UIAbility的abilityname是否正确,在第五步中引入断言接口,并检查断言结果是否符合预期:通过expect().assertEqual()断言检查实际值(actualvalue)是否等于期望值(expectvalue)。 45* 7)测试完毕: done(); 46 47 48### 相关权限 49不涉及 50 51### 依赖 52不涉及 53 54### 约束与限制 551.本示例仅支持标准系统上运行,支持设备:RK3568。 56 572.本示例为Stage模型,支持API12版本SDK,SDK版本号(API Version 12 Release),镜像版本号(5.0.0.23)。 58 593.本示例需要使用DevEco Studio 版本号(4.1.3.501 Release)及以上版本才可编译运行。 60 61### 下载 62 63如需单独下载本工程,执行如下命令: 64 65``` 66git init 67git config core.sparsecheckout true 68echo code/Project/Test > .git/info/sparse-checkout 69git remote add origin https://gitee.com/openharmony/applications_app_samples.git 70git pull origin master 71``` 72