<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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
转载自大佬cabbagedream,整合了所有代码。 “进京赶考”是一款抽卡游戏,玩家在游戏界面中通过随机抽取到不同颜色的卡片,可获得不同积分;抽卡结束后,根据积分的高低对游戏成绩进行判定(状元、榜眼、探花、进士)。 主要功能:在跳转页中使用 router.pushUrl()方法,将目标页的页面路径添加到 url 中,params 即为自定义 参数;在目标页中通过 router.getParams()方法获取跳转页面传递过来的自定义参数。 监听用户在文本框中输入姓名的动作,对Text Input组件增加事件处理,当监听到文本框中数据变化时,将输入的数据传递给value,需要定义状态变量保存实时的变化:@State name:string='',给按钮增加点击事件处理,通过router的相关方法完成跳转和参数传递并获取传递过来的数据。 获取等级参数并传入FinalGrade页面,FinalGrade页面通过获取到的等级参数lv判断显示最终结果。
资源推荐
资源详情
资源评论
收起资源包目录
鸿蒙系统-进京赶考完整代码 (325个子文件)
10380764949915809913 131B
10577244774029218454 1KB
10935774255480148618 128B
1153936780764576223 170B
11747041759901312593 223B
12343769331421687956 147B
12372261213271966881 127B
12935802514136362157 129B
13879045903015501652 143B
1429375404334507484 141B
14501020102923604375 137B
14546311277748687798 1KB
14736624333631232548 141B
15691655190932690926 145B
15740678834717244095 198B
15818412605720581440 1KB
16199360571442776404 135B
16410006514751354114 198B
16710586299867042825 195B
17442683749796715603 1KB
1746070437574147567 129B
1821026445895308829 114B
2377405620585793762 131B
2741788212462789050 1KB
3861771202893156606 1KB
4273941311071036616 153B
5393412635548824489 139B
5957011380126133717 151B
6529311033122058152 133B
7315991147486088249 133B
7701363494162827430 170B
8292107356533166765 147B
9061784819378742281 155B
9187212895633182479 145B
9543081038950596971 143B
9927475548382265453 149B
modules.abc 131KB
modules.abc 71KB
hvigorw.bat 2KB
modules.cache 3KB
modules.cache 811B
GamePage.ets 8KB
index.ets 3KB
index.ets 3KB
index.ets 3KB
Index.ets 3KB
TestAbility.ets 2KB
Second.ets 2KB
Ability.test.ets 2KB
CommonConstants.ets 2KB
FinalGrade.ets 1KB
CustomCardDialog.ets 966B
Index.ets 835B
List.test.ets 97B
preview.ets 0B
.gitignore 119B
.gitignore 55B
ResourceTable.h 1KB
ResourceTable.h 1KB
entry-default-unsigned.hap 769KB
hvigorw 1KB
resources.index 2KB
resources.index 2KB
pack.info 601B
yellow.jpg 88KB
yellow.jpg 88KB
yellow.jpg 88KB
blue.jpg 84KB
blue.jpg 84KB
blue.jpg 84KB
green.jpg 82KB
green.jpg 82KB
green.jpg 82KB
purple.jpg 81KB
purple.jpg 81KB
purple.jpg 81KB
red.jpg 80KB
red.jpg 80KB
red.jpg 80KB
hvigor-wrapper.js 146KB
service.js 32KB
service.js 32KB
service.js 32KB
GamePage.js 21KB
GamePage.js 20KB
FinalGrade.js 12KB
FinalGrade.js 11KB
configService.js 11KB
configService.js 11KB
configService.js 11KB
assertDeepEquals.js 10KB
assertDeepEquals.js 10KB
assertDeepEquals.js 10KB
Index.js 10KB
Index.js 9KB
MockKit.js 8KB
MockKit.js 8KB
MockKit.js 8KB
CustomCardDialog.js 8KB
OhReport.js 8KB
共 325 条
- 1
- 2
- 3
- 4
资源评论
偷猪丶
- 粉丝: 11
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功