• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

entry/06-May-2025-1,5621,365

hvigor/06-May-2025-2221

README_zh.mdD06-May-20253.2 KiB7251

build-profile.json5D06-May-20251 KiB4342

hvigorfile.tsD06-May-2025754 171

hvigorwD06-May-20252.1 KiB6228

hvigorw.batD06-May-20252 KiB7155

oh-package.json5D06-May-2025804 2725

ohosTest.mdD06-May-20252.2 KiB2522

README_zh.md

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