<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.6"
}
```
注:
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
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于ArkTS的校园通app.zip (369个子文件)
10043066955677934618 218B
10066318111287818654 197B
10433584897056985772 218B
10611967411958202385 197B
10629784573890122435 203B
11134150905091105362 218B
11265952605011322457 203B
11424659098534245260 465B
11515223015795266933 209B
11533173548058926235 182B
11793901227007440904 197B
12390618291469250700 209B
12462797529165431115 209B
12709247527704967946 188B
13550292875743007034 411B
13650962640940336004 188B
14034744222337038849 218B
14115009213282236539 182B
14116260779672449180 182B
14313056046209209864 191B
14766295514237030331 182B
1495525255812361637 221B
15417704259921269957 194B
15891899009543115770 188B
16333572888756139201 215B
17037423466987596516 459B
1714827131682637561 227B
17207643100337260823 209B
17391478772288783374 215B
17752588080720603886 182B
17763193498061876979 182B
18008970799695180736 212B
18027356013848151253 185B
2045379984696330244 203B
2184487761517940046 182B
2296647994825058442 188B
2616679689841798215 138B
2746265654349692099 227B
2982578194508432804 191B
3008943073704543737 224B
3088734128349542097 224B
3532509408376295684 209B
3535435288088179007 197B
3765716420255629996 224B
3824038542818821859 209B
4376754625879214790 185B
4594524648017649098 200B
4860609899695125418 188B
5093810786879033742 188B
5155619152727366882 191B
5213334547989510745 194B
5414933299781931918 200B
5721152642303010979 209B
712109833815392360 191B
7125818891940330886 206B
7273948264797594238 239B
7410180947994012448 118B
7433220941203738475 182B
7715204237731554953 215B
7719087723351043027 221B
7875431992940794731 197B
8061650133027687162 200B
8205862808293280968 227B
8257007583235428086 213B
8314953885449187835 185B
8488503108077177350 188B
8695371079092908426 206B
9155052392333091584 197B
9593052161920058274 182B
9726710667409124767 200B
modules.abc 215KB
modules.abc 214KB
hvigorw.bat 2KB
modules.cache 3KB
modules.cache 2KB
One_3.ets 16KB
Three.ets 10KB
Two.ets 5KB
index.ets 3KB
Index.ets 2KB
TestAbility.ets 2KB
One_2.ets 2KB
Ability.test.ets 2KB
One.ets 1KB
One_1.ets 1013B
Index.ets 835B
Three_1.ets 764B
One_3_1.ets 625B
preview.ets 251B
List.test.ets 97B
.gitignore 119B
.gitignore 55B
ResourceTable.h 4KB
ResourceTable.h 4KB
entry-default-unsigned.hap 8.76MB
hvigorw 1KB
resources.index 8KB
resources.index 5KB
pack.info 537B
xiangshangongyuan.jpeg 2.21MB
共 369 条
- 1
- 2
- 3
- 4
资源评论
笔触狂放
- 粉丝: 5846
- 资源: 98
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- career.it.signals-systems信号与系统
- 面向计算机视觉的基础库,支持Linux、Windows及MacOS平台 提供了众多功能,包括基于PyTorch的通用训练框架等
- 基于LQR实现的车辆轨迹跟踪matlab源码+项目说明+超详细注释(高分项目)
- 视2.css
- Android图片处理工具类,包括: 图片查看、照片墙、bitmap转存、圆角、剪切、图片加载缓存、图片压缩等
- 甘豆影评React Native版
- 百度地图,显示闸站分布,以及切换闸站位置,上传闸站图片信息的cordova插件,包含百度地图和百度定位库文件
- 基于合泰单片机的智能夹球小车(esp8266代码+k210代码+合泰单片机代码)
- 一个天气查询的安卓APP
- 基于CC2530+DHT11温湿度传感器实现物联网多传感器火灾报警系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功