<div style="text-align: center;font-size: xxx-large" >Hypium</div>
<div style="text-align: center">A unit test framework for OpenHarmonyOS application</div>
## Hypium是什么?
***
- Hypium是OpenHarmony上的测试框架,提供测试用例编写、执行、结果显示能力,用于OpenHarmony系统应用接口以及应用界面测试。
- Hypium结构化模型:hypium工程主要由List.test.js与TestCase.test.js组成。
```
rootProject // Hypium工程根目录
├── moduleA
│ ├── src
│ ├── main // 被测试应用目录
│ ├── ohosTest // 测试用例目录
│ ├── js/ets
│ └── test
│ └── List.test.js // 测试用例加载脚本,ets目录下为.ets后缀
│ └── TestCase.test.js // 测试用例脚本,ets目录下为.ets后缀
└── moduleB
...
│ └── List.test.js // 测试用例加载脚本,ets目录下为.ets后缀
│ └── TestCase.test.js // 测试用例脚本,ets目录下为.ets后缀
```
## 安装使用
***
- 在DevEco Studio内使用Hypium
- 工程级package.json内配置:
```json
"dependencies": {
"@ohos/hypium": "1.0.7"
}
```
注:
hypium服务于OpenHarmonyOS应用对外接口测试、系统对外接口测试(SDK中接口),完成HAP自动化测试。详细指导:
[Deveco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio)
#### 通用语法
- 测试用例采用业内通用语法,describe代表一个测试套, it代表一条用例。
| No. | API | 功能说明 |
| --- | ---------- | ---------------------------------------------------------------------------------------------------------------------- |
| 1 | describe | 定义一个测试套,支持两个参数:测试套名称和测试套函数 |
| 2 | beforeAll | 在测试套内定义一个预置条件,在所有测试用例开始前执行且仅执行一次,支持一个参数:预置动作函数 |
| 3 | beforeEach | 在测试套内定义一个单元预置条件,在每条测试用例开始前执行,执行次数与it定义的测试用例数一致,支持一个参数:预置动作函数 |
| 4 | afterEach | 在测试套内定义一个单元清理条件,在每条测试用例结束后执行,执行次数与it定义的测试用例数一致,支持一个参数:清理动作函数 |
| 5 | afterAll | 在测试套内定义一个清理条件,在所有测试用例结束后执行且仅执行一次,支持一个参数:清理动作函数 |
| 6 | it | 定义一条测试用例,支持三个参数:用例名称,过滤参数和用例函数 |
| 7 | expect | 支持bool类型判断等多种断言方法 |
#### 断言库
- 示例代码:
```javascript
expect(${actualvalue}).assertX(${expectvalue})
```
- 断言功能列表:
| No. | API | 功能说明 |
| :--- | :------------------------------- | ---------------------------------------------------------------------------------------------- |
| 1 | assertClose | 检验actualvalue和expectvalue(0)的接近程度是否是expectValue(1) |
| 2 | assertContain | 检验actualvalue中是否包含expectvalue |
| 3 | assertDeepEquals | @since1.0.4 检验actualvalue和expectvalue(0)是否是同一个对象 |
| 4 | assertEqual | 检验actualvalue是否等于expectvalue[0] |
| 5 | assertFail | 抛出一个错误 |
| 6 | assertFalse | 检验actualvalue是否是false |
| 7 | assertTrue | 检验actualvalue是否是true |
| 8 | assertInstanceOf | 检验actualvalue是否是expectvalue类型 |
| 9 | assertLarger | 检验actualvalue是否大于expectvalue |
| 10 | assertLess | 检验actualvalue是否小于expectvalue |
| 11 | assertNaN | @since1.0.4 检验actualvalue是否是NaN |
| 12 | assertNegUnlimited | @since1.0.4 检验actualvalue是否等于Number.NEGATIVE_INFINITY |
| 13 | assertNull | 检验actualvalue是否是null |
| 14 | assertPosUnlimited | @since1.0.4 检验actualvalue是否等于Number.POSITIVE_INFINITY |
| 15 | assertPromiseIsPending | @since1.0.4 检验actualvalue是否处于Pending状态【actualvalue为promse对象】 |
| 16 | assertPromiseIsRejected | @since1.0.4 检验actualvalue是否处于Rejected状态【同15】 |
| 17 | assertPromiseIsRejectedWith | @since1.0.4 检验actualvalue是否处于Rejected状态,并且比较执行的结果值【同15】 |
| 18 | assertPromiseIsRejectedWithError | @since1.0.4 检验actualvalue是否处于Rejected状态并有异常,同时比较异常的类型和message值【同15】 |
| 19 | assertPromiseIsResolved | @since1.0.4 检验actualvalue是否处于Resolved状态【同15】 |
| 20 | assertPromiseIsResolvedWith | @since1.0.4 检验actualvalue是否处于Resolved状态,并且比较执行的结果值【同15】 |
| 21 | assertThrowError | 检验actualvalue抛出Error内容是否是expectValue |
| 22 | assertUndefined | 检验actualvalue是否是undefined |
| 23 | not | @since1.0.4 断言结果取反 |
示例代码:
```javascript
import { describe, it, expect } from '@ohos/hypium';
export default async function assertCloseTest() {
describe('assertClose', function () {
it('assertClose_success', 0, function () {
let a = 100;
let b = 0.1;
expect(a).assertClose(99, b);
})
})
}
```
#### 公共系统能力
| No. | API | 功能描述 |
| ---- | ------------------------------------------------------- | ------------------------------------------------------------ |
| 1 | existKeyword(keyword: string, timeout: number): boolean | @since1.0.3 hilog日志中查找指定字段是否存在,keyw
没有合适的资源?快使用搜索试试~ 我知道了~
【OpenHarmony】 ArkTS 语法基础 ② ( ArkTS 自定义组件 )
共257个文件
js:132个
json:35个
json5:12个
3 下载量 65 浏览量
2024-06-03
20:49:48
上传
评论 1
收藏 407KB ZIP 举报
温馨提示
【OpenHarmony】ArkTS 语法基础 ② ( ArkTS 自定义组件 | 自定义可导入组件 - export 声明模块 | 导入自定义组件 - import 导入组件 ) https://hanshuliang.blog.csdn.net/article/details/139407374 博客源码快照 一、ArkTS 自定义组件 1、@Component 装饰器 2、自定义组件语法 3、将自定义组件设置为页面入口 二、ArkTS 使用外部自定义组件 1、自定义可导入组件 - export 声明模块 2、导入自定义组件 - import 导入组件
资源推荐
资源详情
资源评论
收起资源包目录
【OpenHarmony】 ArkTS 语法基础 ② ( ArkTS 自定义组件 ) (257个子文件)
10718190715784007686 527B
11610487493904225043 232B
14586597034853411255 473B
15422899183051374087 160B
17107772822579624393 146B
18371487593785390631 257B
5060915662697245420 247B
6174657668385250515 521B
7833100877563552625 232B
modules.abc 16KB
modules.abc 12KB
hvigorw.bat 2KB
modules.cache 967B
modules.cache 955B
index.ets 3KB
index.ets 3KB
index.ets 3KB
TestAbility.ets 2KB
Ability.test.ets 2KB
MyComponent.ets 641B
Index.ets 267B
Index.ets 252B
List.test.ets 99B
preview.ets 0B
.gitignore 119B
.gitignore 55B
.gitignore 50B
ResourceTable.h 1KB
ResourceTable.h 1KB
entry-default-signed.hap 40KB
entry-default-unsigned.hap 33KB
hvigorw 1KB
MyApplication.iml 2KB
entry.iml 320B
resources.index 1KB
resources.index 1KB
pack.info 547B
hvigor-wrapper.js 37KB
service.js 35KB
service.js 35KB
service.js 35KB
configService.js 11KB
configService.js 11KB
configService.js 11KB
assertDeepEquals.js 10KB
assertDeepEquals.js 10KB
assertDeepEquals.js 10KB
MockKit.js 8KB
MockKit.js 8KB
MockKit.js 8KB
OhReport.js 8KB
OhReport.js 8KB
OhReport.js 8KB
core.js 5KB
core.js 5KB
core.js 5KB
DataDriver.js 5KB
DataDriver.js 5KB
DataDriver.js 5KB
ReportExtend.js 5KB
ReportExtend.js 5KB
ReportExtend.js 5KB
ExpectExtend.js 4KB
ExpectExtend.js 4KB
ExpectExtend.js 4KB
DeepTypeUtils.js 3KB
DeepTypeUtils.js 3KB
DeepTypeUtils.js 3KB
assertPromiseIsRejectedWithError.js 3KB
assertPromiseIsRejectedWithError.js 3KB
assertPromiseIsRejectedWithError.js 3KB
SysTestKit.js 3KB
SysTestKit.js 3KB
SysTestKit.js 3KB
ArgumentMatchers.js 3KB
ArgumentMatchers.js 3KB
ArgumentMatchers.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
Filter.js 3KB
Filter.js 3KB
Filter.js 3KB
MyComponent.js 3KB
Index.js 2KB
event.js 2KB
event.js 2KB
event.js 2KB
assertPromiseIsResolvedWith.js 2KB
assertPromiseIsResolvedWith.js 2KB
assertPromiseIsResolvedWith.js 2KB
interface.js 2KB
interface.js 2KB
interface.js 2KB
assertPromiseIsRejectedWith.js 2KB
assertPromiseIsRejectedWith.js 2KB
assertPromiseIsRejectedWith.js 2KB
Index.js 2KB
assertPromiseIsResolved.js 2KB
assertPromiseIsResolved.js 2KB
共 257 条
- 1
- 2
- 3
资源评论
韩曙亮
- 粉丝: 10w+
- 资源: 305
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 小区监控视频监控方案.doc
- 某小区视频监控系统设计方案.doc
- 数电期末练习题.doc
- 数电期末试题.doc
- 数电习题试卷.doc
- 进程调度模拟算法.doc
- 操作系统模拟进程调度算法.doc
- C语言程序设计期末考试试题含答案.doc
- 数电期末试卷及答案.doc
- 汇编实验课程综合设计.doc
- 汇编实验子程序程序设计.doc
- 汇编实验算数运算程序设计.docx
- 多元统计分析重点.docx
- 基于卷积-长短期记忆网络加注意力机制(CNN-LSTM-Attention)的时间序列预测程序,预测精度很高 可用于做风电功率预测,电力负荷预测等等 标记注释清楚,可直接数据运行 代码实现训练与测
- C++语言程序设计期末考试试题及答案.doc
- Linux期末考试复习试题含答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功