HarmonyOS 鸿蒙Next中回归测试用例打包时一直报错

HarmonyOS 鸿蒙Next中回归测试用例打包时一直报错 那位大神能告诉哪里有问题吗,我按照文档上说的操作,打包不成功

cke_183.png

cke_430.png

cke_11623.png


更多关于HarmonyOS 鸿蒙Next中回归测试用例打包时一直报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

【背景知识】

【问题定位】

  1. 首先按照回归测试官方文档操作进行生成回归测试包尝试,复现该错误。按FAQ中使用利用python setup-regression.py sdist --formats=zip进行本地自验证,在setup-regression.py的setup()一行报错,因此怀疑可能是插件问题。 当前Python环境默认加载的setuptools版本为68.2.0,升级为最新版本78.1.0。再执行生成回归测试包,可以正常打包。

  2. 根据开发者提供的图片与官方文档回归测试进行对比,发现MANIFEST.in文件与setup-regression.py存在以下不同: 2.1 官方文档中MANIFEST.in文件中导入与打包用例对应的json文件是使用import导入指定文件,而开发者时使用recursive-include导入testcases下所有*.json和*.py文件,是否可能因为testcases下存在多个json文件导致打包时认为非单例? 因此在testcases下创建多个测试用例,并修改MANIFEST.in文件导入方式同开发者,其余不变,发现可以正常打包,因此排除该问题。 2.2 官方文档中setup-regression.py文件中py_modules=[‘testcases.Example’],但开发者的文件中py_modules=[‘First_Start’]。 按照开发者的文件修改setup-regression.py文件,可以复现报错,因此认为文件的层级错误可能是报错的原因之一。

【分析结论】

  1. setup-regression.py文件参数错误。
  2. setuptools三方包可能是低版本,不支持生成回归测试包。

更多关于HarmonyOS 鸿蒙Next中回归测试用例打包时一直报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主可以参考此FAQ:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-regression-test-6(如果在setup-regression.py的setup()一行有报错可能是插件问题,目前Python环境默认加载的setuptools版本为68.2.0,可以升级下最新版本)

在HarmonyOS Next中,回归测试用例打包报错通常与项目配置或依赖项问题有关。检查oh-package.json5文件中的依赖版本是否兼容,确保ohosTest模块配置正确。验证build-profile.json5中的构建参数,特别是测试相关配置。清理并重新构建项目,使用ohpm install更新依赖。

根据你提供的错误信息,问题核心在于打包工具无法找到或处理你的测试用例文件。具体来看,错误日志显示 File not found: /Users/.../entry/src/ohosTest/resources/base/profile/testrunner.json

主要原因和解决方案如下:

  1. 测试模块 ohosTest 目录结构不正确或文件缺失:这是最直接的原因。请严格按照以下步骤检查:

    • 确认你的应用工程中确实存在 entry/src/ohosTest/ 目录(或 feature/src/ohosTest/)。

    • ohosTest 目录下,检查 resources/base/profile/ 路径是否存在。

    • 关键点:确保 testrunner.json 文件存在于上述路径中。这是一个必需的测试框架配置文件。如果缺失,你需要手动创建。一个基本的 testrunner.json 内容如下:

      {
        "testRunnerBundleName": "com.example.myapplication.test"
      }
      

      请将 "com.example.myapplication.test" 替换为你的测试模块的实际包名(通常在 ohosTest 模块的 module.json5 中定义)。

  2. 检查 module.json5 配置

    • 打开你的测试模块(例如 entry/src/ohosTest/module.json5)的配置文件。
    • 确保 "type": "feature" 的模块(你的主模块)在 "dependencies" 中正确引用了测试模块。同时,测试模块自身的 module.json5"type" 应为 "har"
  3. 清理并重建项目:在 DevEco Studio 中,执行以下操作:

    • 点击菜单栏的 Build -> Clean Project
    • 完成后,再点击 Build -> Rebuild Project
    • 最后再尝试重新执行回归测试用例的打包命令。

总结:请首先重点检查 ohosTest/resources/base/profile/testrunner.json 文件是否存在且路径正确。该文件的缺失是导致此打包失败的最常见原因。创建并配置该文件后,清理重建项目,通常即可解决问题。

回到顶部