HarmonyOS 鸿蒙Next单元测试的奇怪失败

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next单元测试的奇怪失败 现在有一个基础核心模块A,包含so文件,这个模块是静态的har,B依赖了A,C依赖了B。

这个A模块,app运行的时候都是正常的,app都上架了。

但是单元测试时候,C会一直失败,ohosTest和test都不行,一旦涉及到带so的A模块,就会报错!ohosTest是崩溃而失败,test会一直执行,没有结果。

C的其他单元测试都是正常的。

ohosTest单元测试A模块的崩溃日志:

Device info:HUAWEI Mate 60 Pro

Build info:ALN-AL00 5.0.0.25(xxxxxxxxxxx)

Fingerprint:xxxxxxxxxxxx

Module name:xxxxxxxxx

Version:1.0.0

VersionCode:1000000

PreInstalled:No

Foreground:No

Pid:22560

Uid:xxxxxxxxxxxx

Reason:SyntaxError

Error name:SyntaxError

Error message:the requested module ‘kg_modules/@xx/core_native/src/main/ets/VideoDecoder’ does not provide an export name ‘VideoDecoder’ which exported by ‘kg_modules/@xx/core_native/index’

Stacktrace:

SourceMap is not initialized yet

#01 pc 0000000000292c2b /system/lib64/platformsdk/libark_jsruntime.so(4b62791ce975b653f5f0148ca4ff1126)

注意,这个VideoDecoder已经在index文件用export了,app正常运行都没有任何问题,只要ohosTest,就会崩溃闪退,

所有其他单元测试都正常。

非常苦恼,有人帮忙解析下为什么吗?


更多关于HarmonyOS 鸿蒙Next单元测试的奇怪失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

也就是C单元测试的时候,有A相关使用的代码,就会崩溃,否则正常,非常苦恼,求助。

更多关于HarmonyOS 鸿蒙Next单元测试的奇怪失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


A 模块的 so 导出 TS 接口,是用 export * 导出的吗?

我也遇到这个问题了,把 export * 改成按每个符号导出,就不复现了

提了工单也是要源码。算了

楼主您好,该问题需要demo代码进行分析,建议通过在线提单提交问题。

支持 - 在线提单 - 华为开发者联盟 (huawei.com)

针对“HarmonyOS 鸿蒙Next单元测试的奇怪失败”这一问题,可能的原因及排查方向如下:

  1. 测试环境差异:检查测试环境是否与预期一致,包括鸿蒙系统版本、硬件平台等。不同环境可能导致测试行为不一致。

  2. 测试代码问题:审查测试代码,确认是否存在逻辑错误、资源泄露或依赖未正确初始化等问题。特别是异步操作、多线程场景,需确保测试逻辑能正确处理。

  3. 依赖库版本:检查项目依赖的第三方库或框架版本是否与鸿蒙系统兼容,或是否存在已知问题。

  4. 系统API变更:鸿蒙系统可能在不同版本中更新了API,导致原有测试代码失效。查阅鸿蒙官方文档,确认API的使用是否符合最新版本要求。

  5. 权限问题:部分测试可能涉及系统权限,确保测试应用已正确申请并授予所需权限。

  6. 日志分析:详细查看测试失败时的系统日志和测试框架日志,可能包含关键错误信息或异常堆栈,有助于定位问题。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部