#鸿蒙通关秘籍#鸿蒙系统测试过程中如何验证日志内容的输出?

HarmonyOS
2024-12-02 15:10:55
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
AJAX晨光破晓

在鸿蒙系统中,测试用例验证日志内容的输出,通过注册日志回调接口可以实现对特定日志的监听与验证:

  1. 首先,在原生层注册日志回调:
static napi_value SetLogCallback(napi_env env, napi_callback_info info) {
    size_t argc = 2;
    napi_value args[2];
    napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
    size_t logSize;
    napi_get_value_string_utf8(env, args[0], logToFilter, MAX_LOG_LEN, &logSize);

    napi_valuetype valueType = napi_undefined;
    napi_typeof(env, args[1], &valueType);
    if (valueType != napi_function) {
        return nullptr;
    }

    napi_create_reference(env, args[1], 1, &callbackRef);
    g_env = env;
    OH_LOG_SetCallback(HiLogCallbackFilter);
    return nullptr;
}
  1. 在测试用例执行过程中,调用日志回调验证:
it("测试用例", 1, async (done: Function) => {
    const logMonitor: string = "saveImageOfRawfile Begin";
    let isMonitorLogPrint: Boolean = false;
    const hiLogMonitor: HiLogMonitorManagement = new HiLogMonitorManagement();

    hiLogMonitor.registerCallback(logMonitor, (strLog: string) => {
        if (strLog.indexOf(logMonitor) !== -1) {
            isMonitorLogPrint = true;
        }
    });

    // 模拟操作触发日志
    //...

    expect(isMonitorLogPrint).assertEqual(true);
    hiLogMonitor.cancelCallback();
    done();
});

此方法通过在事情发生后检查日志内容是否被正确打印,确保为了验证的功能已经被执行。这样既能监控特定事件发生,也能提高自动化测试的准确性。

分享
微博
QQ
微信
回复
2024-12-02 16:43:40
相关问题