HarmonyOS Developer DevEco Studio使用指南-HarmonyOS 测试框架
DevEco Studio支持HarmonyOS应用/服务测试框架,包含HarmonyOS Test、HarmonyOS JUnit、OpenHarmony Test测试能力。提供测试用例执行能力,提供用例编写基础接口,输出测试结果,支持用户开发简洁易用的自动化测试脚本。
- HarmonyOS Test:测试用例存放ohosTest测试目录下,需要运行在设备或者模拟器上。HarmonyOS Test支持ArkTS/JS/Java语言。适用范围:API 4~7 Gradle工程。
- HarmonyOS JUnit:测试用例存放test测试目录下。单元测试是测试某个类的某个方法能否正常工作的一种手段,这些测试无需在设备或模拟器上运行,可直接于本地JVM上运行,测试执行速度快。HarmonyOS JUnit只支持Java语言。适用范围:API 4~7 Gradle工程。
- OpenHarmony Test:测试用例存放在ohosTest测试目录下,需要运行在设备或者模拟器上。OpenHarmony Test支持ArkTS/JS语言。适用范围:API 8~9 Hvigor工程。
HarmonyOS Test
创建HarmonyOS Test测试用例
ArkTS、JS和Java的HarmonyOS Test测试用例创建方式相同,本文将以ArkTS为例进行说明。
- 创建一个待测试的ArkTS工程或者打开一个已有工程。
- 在工程目录下打开待测试模块下的ets文件,将光标置于代码中任意位置,单击右键 > Show Context Actions > Create Ohos Test或快捷键Alt+enter > Create Ohos Test创建测试类。当前支持entry和feature模块的测试。
- 在弹出的Create Ohos Test窗口,输入或选择如下参数。
- Testing library:测试类型,默认为DECC-ArkTSUnit,JS语言默认为DECC-JSUnit,Java默认为DECC-JUnit
- ArkTS name:创建的测试套件名称。测试套件为包含了测试用例的文件。测试套件名称要求在工程目录范围内具有唯一性,且不能使用逗号、横线、空格以及\ / : * ? “”< > | ()&等特殊字符。
- Destination package:测试套件存放的位置,建议存放在待测试模块的test目录下。
- Generate:通用模板,在创建用例时会自动生成勾选项对应的模板。
选项 | 含义 |
beforeAll | 在测试套内定义一个预置条件,在所有测试用例开始前执行且仅执行一次,支持一个参数:预置动作函数。 |
afterAll | 在测试套内定义一个清理条件,在所有测试用例结束后执行且仅执行一次,支持一个参数:清理动作函数。 |
beforeEach | 在测试套内定义一个单元预置条件,在每条测试用例开始前执行,执行次数与it定义的测试用例数一致,支持一个参数:预置动作函数。 |
afterEach | 在测试套内定义一个单元清理条件,在每条测试用例结束后执行,执行次数与it定义的测试用例数一致,支持一个参数:清理动作函数。 |
- DevEco Studio在ohosTest目录下自动生成对应的测试类。在测试类中,DevEco Studio会生成对应方法的用例模板,具体测试代码需要开发者根据业务逻辑进行开发,具体请参考:单元测试框架
说明
您也可以手动在ohosTest > ets > test文件夹下创建测试用例,手动创建后,需要在List.test.ets文件中添加创建的用例类。
测试用例名称应保持唯一性,并且不能使用逗号、横线、空格以及\ / : * ? “”< > | ()&等特殊字符。
运行HarmonyOS Test测试用例
HarmonyOS Test测试支持在真机设备及远程模拟器和本地模拟器设备上运行测试。
- 在真机设备上运行:需要对测试模块进行签名,具体签名指导请参考配置签名信息。
- 在模拟器上运行:使用远程模拟器运行测试用例,需要登录并授权,具体请参考使用模拟器运行应用/服务。
- 连接真机设备或者启动远程模拟器或本地模拟器。
- 执行测试用例,有如下多种执行方法。
说明
对于API Version 4至7的工程,如果执行跨设备的分布式测试用例,请先在运行配置页面勾选“Run Cross Device”。在DevEco Studio菜单栏上,单击Run > Edit Configurations,打开运行配置页面。或在工程目录选中测试类,单击右键 > Modify Run Configuration,打开运行配置页面。
- 在工程目录选中测试类,单击右键 > Run'测试类名称',执行测试。
- 打开具体的测试类,单击对应方法左侧按钮。
- 单击Run > Edit Configurations,然后单击+按钮选择“HarmonyOS Test”,新建测试任务。
选择Tests-Task1任务,单击右侧的Run按钮启动测试。
- 查看测试结果。
测试用例执行完成后,测试报告列表将出现在Deveco Studio左下角的run面板上。如果存在失败测试用例,您可以通过单击测试用例名称来查看具体的失败信息。
HarmonyOS JUnit单元测试
创建HarmonyOS JUnit测试用例
- 创建一个待测试的工程或者打开一个已有工程。
- 打开需要测试的类,单击右键 > Show Context Actions > Create Test或快捷键Alt+enter > Create Test创建测试类。
- 勾选需要测试的方法,测试库选择JUnit,然后单击OK。
- 选择测试用例目录,选择Test目录,单击OK。
- 系统在Test目录下自动生成对应的测试类。在测试类中,IDE会生成对应方法的用例模板,具体测试代码需要开发者根据业务逻辑进行开发。
运行HarmonyOS JUnit测试用例
可使用以下方法的任意一种运行测试用例。
- 在工程目录中,单击右键 > Run'测试类名称',执行测试。
- 打开测试套件,单击对应方法左侧按钮。
- 单击Run > Edit Configurations,然后单击+按钮选择“HarmonyOS JUnit“,新建测试任务
○ 在工具栏主菜单单击Run > Run'测试名称'。
○ 在DevEco Studio的右上角,选择测试任务,然后单击右侧的
按钮,执行Harmony JUnit Test。
运行后,查看测试结果。
OpenHarmony Test
创建OpenHarmony Test测试用例
- 在工程目录下打开待测试模块下的ets文件,将光标置于代码中任意位置,单击右键 > Show Context Actions > Create Ohos Test或快捷键Alt+enter > Create Ohos Test创建测试类。
- 在弹出的Create Ohos Test窗口,输入或选择如下参数。
- Testing library:测试类型,默认为DECC-ArkTSUnit,JS语言默认为DECC-JSUnit
- ArkTS name:创建的测试套件名称。测试套件为包含了测试用例的文件。测试套件名称要求在工程目录范围内具有唯一性,且不能使用逗号、横线、空格以及\ / : * ? “”< > | ()&等特殊字符。
- Destination package:测试套件存放的位置,建议存放在待测试模块的test目录下。
- DevEco Studio在ohosTest目录下自动生成对应的测试类。在测试类中,DevEco Studio会生成对应方法的用例模板,具体测试代码需要开发者根据业务逻辑进行开发,具体请参考:
说明
您也可以手动在ohosTest > ets > test文件夹下创建测试用例,手动创建后,需要在List.test.ets文件中添加创建的用例类。
测试用例名称应保持唯一性,并且不能使用逗号、横线、空格以及\ / : * ? “”< > | ()&等特殊字符。
运行OpenHarmony Test测试用例
使用DevEco Studio运行测试用例前,需要将设备与电脑进行连接,将工程编译成带签名信息的HAP,再安装到真机设备或模拟器上运行,具体请参考应用/服务运行。
运行测试用例,可以采用如下几种方式来运行。
- 在工程目录中,单击右键 > Run'测试类名称',执行测试。
- 打开测试套件,单击对应方法左侧按钮。
- 如果要根据自定义的配置执行Ohos Test,在创建测试用例运行任务后,通过如下方式的其中之一,执行Ohos Test:
○ 在工具栏主菜单单击Run > Run'测试名称'。
○ 在DevEco Studio的右上角,选择测试任务,然后单击右侧的
按钮,执行Ohos Test。
执行完测试任务后,查看测试结果。
创建OpenHarmony Test测试用例运行任务
可选操作,默认情况下,测试用例可直接运行,如果需要自定义测试用例运行任务,可通过如下方法进行设置。
- 在工具栏主菜单单击Run>Edit Configurations进入Run/Debug Configurations界面。
- 在Run/Debug Configurations界面,单击+按钮,在弹出的下拉菜单中,单击OpenHarmony Test。
- 根据实际情况,配置Ohos Test的运行参数。 然后单击OK,完成配置。