IT评测·应用市场-qidao123.com

标题: 鸿蒙5.0开发【Instrument Test】测试框架 [打印本页]

作者: 飞不高    时间: 2025-1-7 00:17
标题: 鸿蒙5.0开发【Instrument Test】测试框架
创建Instrument Test测试用例

创建默认测试用例

自定义Ability和Resources

从5.0.3.403版本开始,新创建的工程/模块的ohosTest目次下默认不创建testability、testrunner和resources目次,汗青工程仍保留这些目次,如果新工程必要利用ability或resources本领,必要开发者自行创建。
说明
如果必要利用ability本领,必要同时创建testrunner目次及OpenHarmonyTestRunner.ets文件。

  1. {
  2.   "module": {
  3.     "name": "entry_test",
  4.     "type": "feature",
  5.     "description": "$string:module_test_desc",
  6.     "mainElement": "TestAbility",                                   // 对应下方abilities中的ability name。
  7.     "deviceTypes": [
  8.       "phone",
  9.       "tablet",
  10.       "2in1"
  11.     ],
  12.     "deliveryWithInstall": true,
  13.     "installationFree": false,
  14.     "pages": "$profile:test_pages",                                 // 对应resources目录 > base目录 > profile目录 > test_pages.json文件。
  15.     "abilities": [                                                  // 添加的ability的配置信息。
  16.       {
  17.         "name": "TestAbility",
  18.         "srcEntry": "./ets/testability/TestAbility.ets",
  19.         "description": "$string:TestAbility_desc",
  20.         "icon": "$media:icon",
  21.         "label": "$string:TestAbility_label",
  22.         "exported": true,
  23.         "startWindowIcon": "$media:icon",
  24.         "startWindowBackground": "$color:start_window_background"
  25.       }
  26.     ]
  27.   }
  28. }
复制代码
运行Instrument Test测试用例

运行模式

利用DevEco Studio运行测试用例前,必要将设备与电脑举行毗连,将工程编译成带署名信息的HAP,再安装到真机设备或模拟器上运行。
可以采用运行工程目次(test)、测试文件(如Ability.test.ets)、测试套件(describe)、测试方法(it)的方式来运行测试用例:

执行完测试任务后,查看测试结果。

调试模式

调试模式相比运行模式增长了断点管理功能。在断点掷中时,可以选择单步执行、步入步出、进入下个断点等方式举行调试,别的可以利用线程堆栈可视化、变量和表达式可视化功能,快速定位问题。
以文件级别为例,在添加断点之后,在工程目次中,选中文件,单击右键 > Debug’测试文件名称’ ,以调试模式执行测试任务。

在断点掷中时,下方将出现Debug窗口。开发者可在该窗口中举行断点管理与基础调试本领的可视化操作,在断点掷中时可查看当火线程的变量和堆栈信息。

断点掷中时,在代码编辑器窗口单击右键,在弹出的菜单中将出现调试模式特有功能,如盘算表达式、添加变量监视等。

在跳出所有断点后,测试结束,与运行模式类似,在测试窗口查看测试结果。

说明
涉及调试C++代码时,请打开Run/Debug Configurations窗口,点击Debugger页签,设置Debug type。
覆盖率统计模式

说明

在Instrument Test运行的基础上支持代码覆盖率统计,当前仅支持ArkTS工程。
可以采用运行工程目次(test)、测试文件(如Ability.test.ets)、测试套件(describe)、测试方法(it)的方式来启动代码覆盖率的统计。
以文件级别为例,有两种方式启动测试:

启动测试后,举行编译构建,底部将出现Cover窗口,构建结束后主动拉起Cover窗口,测试任务结束后,窗口中会打印测试报告的路径。

在本地找到报告的位置并在浏览器中打开,查看代码覆盖率详情。

在Cover窗口中,单击rerun按钮可以按照之前的设置,重新执行覆盖率用例。

(可选)自定义测试用例运行任务

默认情况下,测试用例可直接运行,如果必要自定义测试用例运行任务,可通过如下方法举行设置。
利用过滤条件筛选待运行的测试用例

调试C++代码

当开发者编写Instrument Test测试用例,涉及调试C++代码时,请打开Run/Debug Configurations窗口,点击Debugger页签,设置Debug type。

调试类型Debug type默认为Detect Automatically,关于各调试类型的说明如下表所示:
调试类型调试代码Detect Automatically主动检测。根据工程模块及其依靠的模块涉及的编程语言,主动启动对应的调试器。如果检测到是Native模块,出现两个调试窗口(PandaDebugger、Native);如果不是Native模块,只出现PandaDebugger调试窗口。ArkTS/JS只调试ArkTS/JS,只出现PandaDebugger调试窗口。Native单独调试C++,只出现Native调试窗口。Dual(ArkTS/JS + Native)支持ArkTS/JS和C++混淆调试,出现两个调试窗口(PandaDebugger、Native)。 说明
调试C++代码时,当前模块及所有依靠的HSP模块的[Address Sanitizer配置]要保持同等,若不同等,可能无法进入C++代码的断点处。
ASan检测

Instrument Test针对C/C++方法提供ASan检测本领
利用命令行执行测试Instrument Test

说明
从hvigor-ohos-plugin 4.3.0版本开始支持。
通过命令行方式执行Instrument Test,在工程根目次下执行命令:
  1. hvigorw onDeviceTest -p module={moduleName} -p coverage={true | false} -p scope={suiteName}#{methodName}
复制代码

说明
多个module和scope之间用逗号分割。
测试结果文件:/.test/default/intermediates/ohosTest/coverage_data/test_result.txt

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4