HarmonyOS鸿蒙Next中单个Module默认没有ohosTest只有test,如何解决无法使用UI测试框架问题

HarmonyOS鸿蒙Next中单个Module默认没有ohosTest只有test,如何解决无法使用UI测试框架问题

cke_173.png

默认没有ohosTest, 如果是自己创建的,在编译时会报错> hvigor ERROR: The module target ‘ohosTest’ is not found in the ‘module_news_base_ts’.

Detail: Please check the command or module target configuration.


更多关于HarmonyOS鸿蒙Next中单个Module默认没有ohosTest只有test,如何解决无法使用UI测试框架问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

【背景知识】

代码测试:DevEco Studio支持应用/元服务测试框架,提供测试用例执行能力,提供用例编写基础接口,输出测试结果,支持用户开发简洁易用的自动化测试脚本,支持代码覆盖率统计。

Instrument Test:测试用例存放在ohosTest测试目录下,需要运行在设备或模拟器上。Instrument Test支持ArkTS/JS语言。

【解决方案】

  1. 如果想要同时使用DECC-ArkTSUnit和DECC-JSUnit能力,需要在模块/src目录下分别创建ohosTest/ets/test、ohosTest/js/test两个文件夹。
  2. 创建上述文件夹后,创建js文件后,将光标置于代码中任意位置,单击右键 > Show Context Actions > Create Instrument Test或快捷键Alt+enter > Create Instrument Test创建测试类。
  3. 如果想要在DevEco Studio最上边的Run->Edit Confgurations->左上角的“+”->Instrument Test->Test Type中选择JS的话,需要删除模块/src/ohosTest文件夹。

更多关于HarmonyOS鸿蒙Next中单个Module默认没有ohosTest只有test,如何解决无法使用UI测试框架问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,如需使用UI测试框架,需要手动配置ohosTest模块。步骤如下:

  1. 在module目录下新建ohosTest文件夹
  2. 创建对应的测试目录结构(java/ohosTest/com.example)
  3. 在build-profile.json中配置testOhos类型:
"buildTypes": {
  "testOhos": {
    "runtimeOS": "HarmonyOS"
  }
}
  1. 添加测试依赖:
"dependencies": {
  "testOhosImplementation": "ohosTestImplementation '...'"
}

完成后即可编写UI测试用例。

在HarmonyOS Next中,UI测试框架确实需要ohosTest目录。针对这个问题,可以这样解决:

  1. 正确创建ohosTest目录结构:
  • 在module目录下手动创建src/ohosTest目录
  • 在其中创建ets/test目录结构
  1. 需要在module.json5中配置测试模块:
"buildTypes": {
  "ohosTest": {
    "sourceType": "test"
  }
}
  1. 确保hvigor配置文件正确: 在hvigorfile.ts中需要包含测试模块配置:
import { ohosTest } from '@ohos/hvigor-ohos-plugin'

export default {
  system: ohosTest()
}
  1. 测试用例示例结构:
ohosTest/ets/test/
  └── Example.test.ets
  1. 如果是从旧项目迁移,可能需要更新SDK版本和构建工具链

注意:不要直接复制test目录为ohosTest,需要按规范创建完整结构。创建后执行clean和rebuild操作。

回到顶部