HarmonyOS 鸿蒙Next单元测试的奇怪失败
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
也就是C单元测试的时候,有A相关使用的代码,就会崩溃,否则正常,非常苦恼,求助。
更多关于HarmonyOS 鸿蒙Next单元测试的奇怪失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
A 模块的 so 导出 TS 接口,是用 export * 导出的吗?
我也遇到这个问题了,把 export * 改成按每个符号导出,就不复现了
提了工单也是要源码。算了
楼主您好,该问题需要demo代码进行分析,建议通过在线提单提交问题。
针对“HarmonyOS 鸿蒙Next单元测试的奇怪失败”这一问题,可能的原因及排查方向如下:
-
测试环境差异:检查测试环境是否与预期一致,包括鸿蒙系统版本、硬件平台等。不同环境可能导致测试行为不一致。
-
测试代码问题:审查测试代码,确认是否存在逻辑错误、资源泄露或依赖未正确初始化等问题。特别是异步操作、多线程场景,需确保测试逻辑能正确处理。
-
依赖库版本:检查项目依赖的第三方库或框架版本是否与鸿蒙系统兼容,或是否存在已知问题。
-
系统API变更:鸿蒙系统可能在不同版本中更新了API,导致原有测试代码失效。查阅鸿蒙官方文档,确认API的使用是否符合最新版本要求。
-
权限问题:部分测试可能涉及系统权限,确保测试应用已正确申请并授予所需权限。
-
日志分析:详细查看测试失败时的系统日志和测试框架日志,可能包含关键错误信息或异常堆栈,有助于定位问题。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。