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

news/2024/11/16 21:54:09/

【关键词】

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

【测试代码及测试结果展示】
这里以新建API9工程自动生成的ohosTest来编写单元测试代码。

1、  测试代码:

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、  测试结果

cke_13299.png

【参考文档】
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


http://www.ppmy.cn/news/1201886.html

相关文章

CSS 简介

一、CSS简介: CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为…

ZooKeeper调优

服务器硬件配置 建议 Zookeeper 的服务器最好专属(或是资源隔离的)。磁盘由于 Zookeeper 的数据写入磁盘,强烈建议要使用 SSD。 Linux操作系统优化 Zookeeper 的性能会很明显受到交换分区的影响。建议部署 Zookeeper 的服务器关闭交换分区功能或是通过内核参数调整,减少…

「掌握创意,释放想象」——Photoshop 2023,你的无限可能!

Adobe Photoshop 2023(PS2023) 来了,全世界数以百万计的设计师、摄影师和艺术家使用 Photoshop 将不可能变为可能。从海报到包装,从基本的横幅到漂亮的网站,从令人难忘的徽标到引人注目的图标,Photoshop 2023让创意世界不断前进。借助直观的工…

Django初窥门径-自定义用户模型

前言 自定义用户模型在Django应用中是一个重要的话题,它涉及到如何根据您的项目需求以及特定的用户身份验证和授权需求来调整用户模型。在以下前言中,我将讲述为什么自定义用户模型是如此重要以及其潜在的优势: 随着Web应用的不断发展&…

Gson 解析容错框架

官网 GitHub - getActivity/GsonFactory: Gson 解析容错框架,愿从此再无 Json 解析报错,另外还适配了 Kotlin 默认值,和后台返回空值的情况 项目简介 Gson 解析容错框架,愿从此再无 Json 解析报错,另外还适配了 Kot…

『MySQL快速上手』-②-数据库基础

文章目录 1.什么是数据库2.MySQL的基本使用2.1 MySQL的安装2.2 连接MySQL服务器2.3 服务器、数据库与表的关系2.4 使用案例 3.SQL语句分类4.存储引擎4.1 什么是存储引擎4.2 查看存储引擎 1.什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库?文…

SwissArmyTransformer瑞士军刀工具箱使用手册

Introduction sat(SwissArmyTransformer)是一个灵活而强大的库,用于开发您自己的Transformer变体。 sat是以“瑞士军刀”命名的,这意味着所有型号(例如BERT、GPT、T5、GLM、CogView、ViT…)共享相同的backo…

知行电子口岸EDI端口介绍

电子口岸或者其他物流企业需要确保能够生成和解析符合交通部要求的EDI数据格式。这可能需要进行一些EDI数据映射工作,以确保数据的正确传输和处理。为了支持此需求,我们的开发人员将这些功能模块集成在电子口岸端口中,这个端口的主要功能是将…