HarmonyOS 在单元测试中如何引入context

在自动生成的XX.test.ets文件中,需要使用context,从而用context.resourceManager.getRawFileContentSync(fileName)这个函数。该fileName存放在ohosTest/resources/rawfile/下面。

HarmonyOS
2024-10-31 10:14:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​1、请将要读写的文件资源放在main/resources/rawfile/下方,可以继续创建子文件夹用于区分,如继续创建test目录。

最终文件存放路径为:G:\ohos\demo\MyApplication0528\entry\src\main\resources\rawfile\test\test.txt

2、在用例中使用资源。

1)创建工具类,可以直接在TestAbility中最底下添加​。

export class CustomAbilityUtil { 
  static context: common.UIAbilityContext 
  static uint8Array2string(uData: Uint8Array, encoding: string = 'utf8', tOption?: util.TextDecoderOptions, 
    dOption?: util.DecodeWithStreamOptions): string { 
    return util.TextDecoder.create(encoding, tOption).decodeWithStream(uData, dOption) 
  } 
}

​2)在TestAbility的onCreate中对CustomAbilityUtil 的context进行赋值CustomAbilityUtil.context = this.context

3)用例中读取​。

it('assertContain3', 0, () => { 
  // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. 
  hilog.info(0x0000, 'testTag', '%{public}s', 'it begin3333'); 
  let uArray = CustomAbilityUtil.context.resourceManager.getRawFileContentSync('test/test.txt') 
  let result = CustomAbilityUtil.uint8Array2string(uArray) 
  hilog.info(0x00000, TAG, 'result#' + result); 
  hilog.info(0x0000, 'testTag', '%{public}s', 'it end33333'); 
})
分享
微博
QQ
微信
回复
2024-10-31 16:36:35
相关问题
HarmonyOS 单元测试Local Test 问题
206浏览 • 1回复 待解决
单元测试文件如何能运行起来
2162浏览 • 1回复 待解决
HarmonyOS 是否支持cucumbor单元测试
32浏览 • 1回复 待解决
鸿蒙单元测试怎么实现
7601浏览 • 1回复 待解决
如何对UI描述进行单元测试
486浏览 • 1回复 待解决
如果通过Mock单元测试Mybatis的SQL?
2672浏览 • 1回复 待解决
怎么写单元测试用例?
2055浏览 • 1回复 待解决
如何在UI获取Context
2840浏览 • 1回复 待解决
鸿蒙如何获取context对象
9183浏览 • 1回复 待解决
如何在工具类获取Context
1888浏览 • 1回复 待解决
worker.ts如何获取context
2011浏览 • 2回复 待解决
鸿蒙页面的context如何拿到
18235浏览 • 3回复 待解决
多线程EGL如何共享Context
305浏览 • 1回复 待解决
HarmonyOS 测试包,如何打出测试
287浏览 • 1回复 待解决
如何在ets引入zlib.js?
2481浏览 • 1回复 待解决
HarmonyOS 如何打包给测试人员测试
41浏览 • 1回复 待解决