HarmonyOS鸿蒙Next中Hypium测试框架是否支持引入C/C++三方库的SO进行测试?

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

HarmonyOS鸿蒙Next中Hypium测试框架是否支持引入C/C++三方库的SO进行测试?

我之前尝试将自定义三方库sub编译出SO,并写出对应napi接口文件,通过JS代码最终调用C/C++三方库,编出hap包后在模拟器上测试成功。

参考了:
[在Native侧如何集成三方SO库-NDK开发-NDK开发-应用框架开发-开发 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-ndk-5-V5)

现在想通过使用Hypium 测试框架测试,遇到问题:

由方法一,目前工程已实现通过NAPI调用C/C++三方库sub所编译生成的so中的sub( )方法了。

现在在同一工程下继续进行以下操作,希望通过Hypium 测试框架来测试:

①在工程subDemoTestOne_Test1\entry\src\ohosTest\ets\test路径下,编写Ability.test.ets文件:

```javascript
import { hilog } from '[@kit](/user/kit).PerformanceAnalysisKit';
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '[@ohos](/user/ohos)/hypium';
import testNapi from 'libentry.so';

export default function sub() {
  describe('sub', () => {
    beforeAll(() => {
    })
    beforeEach(() => {
    })
    afterEach(() => {
    })
    afterAll(() => {
    })
    it('sub', 0, () => {
      hilog.info(0x0000, 'testTag', '%{public}s', 'it sub begin');
      let a = 2.5
      let b = 2.5
      let result: number = testNapi.sub(a, b)
      hilog.info(0x0000, "testTag", "Test NAPI sub: ", JSON.stringify(result));
      console.info("testTag", "Test NAPI sub: ", JSON.stringify(result));
    })
  })
}

②在工程subDemoTestOne_Test1\entry\src\ohosTest\ets\test路径下,编写List.test.ets文件:

import sub from './Ability.test';

export default function testsuite() {
  sub();
}

③运行模拟器,版本配置如下:

④右键Ability.test.ets文件,进行测试:

⑤报错如下:

请问是否与模块加载机制的差异有关,或者我没有正确使用Hypium测试框架?

(方法一)Native侧直接集成so:成功 (方法二)测试框架(Hypium):失败

【运行环境】 硬件:Windows11 DevEvoStudio版本:5.0.1 SDK版本:5.0.0


更多关于HarmonyOS鸿蒙Next中Hypium测试框架是否支持引入C/C++三方库的SO进行测试?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,Hypium测试框架支持引入C/C++三方库的SO文件进行测试。Hypium是鸿蒙系统提供的一种测试框架,主要用于应用的功能和性能测试。它允许开发者通过编写测试脚本来验证应用的各项功能。在测试过程中,Hypium可以加载和调用C/C++编写的动态链接库(SO文件),从而实现对底层代码的测试。这种机制使得开发者能够在鸿蒙系统中对C/C++代码进行集成测试,确保其与上层应用的兼容性和稳定性。

更多关于HarmonyOS鸿蒙Next中Hypium测试框架是否支持引入C/C++三方库的SO进行测试?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


是的,HarmonyOS鸿蒙Next中的Hypium测试框架支持引入C/C++三方库的SO文件进行测试。Hypium框架提供了对C/C++代码的测试支持,开发者可以通过JNI(Java Native Interface)或NDK(Native Development Kit)调用SO库中的函数。在测试脚本中,开发者可以加载并调用SO库中的方法,验证其功能。这种支持使得在鸿蒙系统中对底层C/C++代码进行单元测试和集成测试成为可能,确保了系统整体的稳定性和性能。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!