【HarmonyOS】HarmonyOS Test测试用例中一些断言API的使用

【关键词】

单元测试框架、HarmonyOS Test、assertThrowError、assertFail、assertEqual

【测试代码及测试结果展示】

这里以新建API9工程自动生成的ohosTest来编写单元测试代码。

1、 测试代码:

javascript 复制代码
import { describe, it, expect } from '@ohos/hypium'
import abilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry';

class CharacterReader {
  constructor() {
  }
  unconsume(){
    throw new Error("this is an error")
  }
  unconsume1(a: number,b: number){
    if (a == 1 && b == 2) {
      throw new Error("this is an error")
    }
  }
  add(a: number,b: number) {
    return a + b
  }
}

export default function abilityTest() {
  describe('ActsAbilityTest', function () {
    // 验证待验证方法的行为时,不带括号
    it('assertThrowError',0,() => {
      let reader = new CharacterReader()
      expect(reader.unconsume).assertThrowError("this is an error")
    })
    // expect验证行为不能带括号,目前想要传递参数就另行封装一个空参方法,再转而测试这个空参方法,如下
    it('assertThrowError', 0, () => {
      let reader = new CharacterReader();
      let a = 1;
      let b = 2;
      const test:Function = () => {
        reader.unconsume1(a,b)
      }
      expect(test).assertThrowError("this is an error")
    })

    // 验证待验证方法的行为时,带括号
    it('assertEqual',0,() => {
      let reader = new CharacterReader()
      expect(reader.add(1,1)).assertEqual(2)
    })

    // assertFail断言,使一个用例强制失败
    it('assertFail',0,() => {
      let reader = new CharacterReader()
      expect(reader.unconsume).assertFail()
    })
  })
}

2、 测试结果

【参考文档】

1、https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos_jnit_jsunit-0000001092459608

2、https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/unit-test-0000001507402510-V3#section160718461418

相关推荐
小镇敲码人2 小时前
华为CANN框架中HCCL仓库的全面解析:分布式通信的引擎
分布式·华为
王码码20353 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
坚果派·白晓明3 小时前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
小镇敲码人3 小时前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
lbb 小魔仙4 小时前
【HarmonyOS实战】OpenHarmony + RN:自定义 useFormik 表单处理
react native·harmonyos
果粒蹬i4 小时前
【HarmonyOS】DAY7:鸿蒙跨平台 Tab 开发问题与列表操作难点深度复盘
华为·harmonyos
王码码20354 小时前
Flutter for OpenHarmony 实战之基础组件:第二十七篇 BottomSheet — 动态底部弹窗与底部栏菜单
android·flutter·harmonyos
小镇敲码人4 小时前
探索CANN框架中TBE仓库:张量加速引擎的优化之道
c++·华为·acl·cann·ops-nn
ITUnicorn5 小时前
【HarmonyOS6】ArkTS 自定义组件封装实战:动画水杯组件
华为·harmonyos·arkts·鸿蒙·harmonyos6
小镇敲码人5 小时前
探索华为CANN框架中的ACL仓库
c++·python·华为·acl·cann