HarmonyOS鸿蒙Next中Hypium测试框架是否支持引入C/C++三方库的SO进行测试?
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
在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++代码进行单元测试和集成测试成为可能,确保了系统整体的稳定性和性能。