Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
1ace1120
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
1ace1120
编写于
7月 04, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 04, 2023
浏览文件
操作
浏览文件
下载
差异文件
!20271 自测试框架添加stage模型编译使用说明指导
Merge pull request !20271 from caojiale1/master
上级
e2cc290c
7bd0e8b5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
116 addition
and
6 deletion
+116
-6
zh-cn/device-dev/device-test/developer_test.md
zh-cn/device-dev/device-test/developer_test.md
+116
-6
未找到文件。
zh-cn/device-dev/device-test/developer_test.md
浏览文件 @
1ace1120
...
@@ -698,6 +698,8 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
...
@@ -698,6 +698,8 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
>
>
> 根据测试类型的不同,在具体编写过程中可选择不同的测试类型。
> 根据测试类型的不同,在具体编写过程中可选择不同的测试类型。
> - ohos_unittest:单元测试
> - ohos_unittest:单元测试
> - ohos_js_unittest: FA模型js用例单元测试
> - ohos_js_stage_unittest: stage模型ArkTs用例单元测试
> - ohos_moduletest:模块测试
> - ohos_moduletest:模块测试
> - ohos_systemtest:系统测试
> - ohos_systemtest:系统测试
> - ohos_performancetest:性能测试
> - ohos_performancetest:性能测试
...
@@ -859,14 +861,123 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
...
@@ -859,14 +861,123 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
>
>
> 进行条件分组的目的在于执行用例时可以选择性地执行某一种特定类型的用例。
> 进行条件分组的目的在于执行用例时可以选择性地执行某一种特定类型的用例。
**Fuzzing安全测试
**
-
**stage模型ArkTs用例编译配置示例
**
[
Fuzzing安全测试编译文件的编写规范
](
https://gitee.com/openharmony/test_developertest/blob/master/libs/fuzzlib/README_zh.md
)
```
# Copyright (C) 2023 XXXX Device Co., Ltd.
import("//build/test.gni")
**Benchmark测试**
want_output_path = "developertest/stage_test"
ohos_js_stage_unittest("ActsBundleMgrStageEtsTest") {
hap_profile = "entry/src/main/module.json"
deps = [
":actbmsstageetstest_js_assets",
":actbmsstageetstest_resources",
]
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsBundleMgrStageEtsTest"
subsystem_name = "developertest"
part_name = "stage_test"
module_out_path = want_output_path
}
ohos_app_scope("actbmsstageetstest_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("actbmsstageetstest_js_assets") {
source_dir = "entry/src/main/ets"
}
ohos_resources("actbmsstageetstest_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":actbmsstageetstest_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
group("unittest") {
testonly = true
deps = []
deps += [ ":ActsBundleMgrStageEtsTest" ]
}
```
详细内容如下:
1. 添加文件头注释信息
```
# Copyright (C) 2023 XXXX Device Co., Ltd.
```
2. 导入编译模板文件
```
import("//build/test.gni")
```
3. 指定文件输出路径
```
want_output_path = "developertest/stage_test"
```
> ![icon-note.gif](/zh-cn/device-dev/driver/public_sys-resources/icon-note.gif) **说明:**
>
> 此处输出路径为部件/模块名。
4. 指定测试用例编译目标输出的文件名称
[
Benchmark编译文件编写规范
](
https://gitee.com/openharmony/test_developertest/blob/master/libs/benchmark/README_zh.md
)
```
ohos_js_stage_unittest("ActsBundleMgrStageEtsTest") {
}
```
> ![icon-note.gif](/zh-cn/device-dev/driver/public_sys-resources/icon-note.gif) **说明:**
>
> 使用模板ohos_js_stage_unittest定义stage模型的ArkTs测试套。
5. 指定配置文件module.json、签名文件、部件名称和编译输出路径,都为必选项。
```
ohos_js_stage_unittest("ActsBundleMgrStageEtsTest") {
hap_profile = "entry/src/main/module.json"
certificate_profile = "signature/openharmony_sx.p7b"
subsystem_name = "developertest"
part_name = "stage_test" // 部件名称
}
```
6. 指定配置资源文件(添加需要参与编译的源文件、配置和依赖)
```
# 声明一个HAP的AppScope模块,该目标的app_profile和sources会在编译时拼接到具体的entry内编译。
ohos_app_scope("actbmsstageetstest_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
# stage模型用例代码分别放置到ets目录下。
ohos_js_assets("actbmsstageetstest_js_assets") {
source_dir = "entry/src/main/ets"
}
# 源文件,Stage模型编译后放置在resources目录下。
ohos_resources("actbmsstageetstest_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":actbmsstageetstest_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
```
7.
对目标测试用例文件进行条件分组
```
group("unittest") {
testonly = true
deps = [ ":GetAppInfoJsTest" ]
}
```
> ![icon-note.gif](/zh-cn/device-dev/driver/public_sys-resources/icon-note.gif) **说明:**
>
> 进行条件分组的目的在于执行用例时可以选择性地执行某一种特定类型的用例。
**编译入口配置文件bundle.json**
**编译入口配置文件bundle.json**
...
@@ -1228,7 +1339,6 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
...
@@ -1228,7 +1339,6 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
当执行完测试指令,控制台会自动生成测试结果,若需要详细测试报告,您可在以下路径中进行查找相应的数据文档。
当执行完测试指令,控制台会自动生成测试结果,若需要详细测试报告,您可在以下路径中进行查找相应的数据文档。
### 测试结果
测试结果输出根路径如下:
测试结果输出根路径如下:
```
```
test/developertest/reports/xxxx_xx_xx_xx_xx_xx
test/developertest/reports/xxxx_xx_xx_xx_xx_xx
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录