收藏
回答

miniProgram.restoreWxMethod为什么没有起作用?如何打印处理返回函数的信息?

微信开发者工具版本号:1.03.2011120

基础库版本:2.14.1

问题描述:使用文档中的miniProgram.mockWxMethod范例,输出结果和文档中的结果不一致。

beforeAll(async () => {
    miniProgram = await automator.launch({
      projectPath: '...'
    })

    /*
    // 第一种Mock:直接指定调用结果
    console.log(('111'), await miniProgram.callWxMethod('getStorageSync', 'test')) // -> ''
    await miniProgram.mockWxMethod('getStorageSync', 'mockValue')    
    console.log(('222'), await miniProgram.callWxMethod('getStorageSync', 'test')) // -> 'mockValue'    
    await miniProgram.restoreWxMethod('getStorageSync')    
    console.log(('333'), await miniProgram.callWxMethod('getStorageSync', 'test')) // -> ''

实际输出结果:

    111

    222 mockValue

    333 mockValue

beforeAll(async () => {
    miniProgram = await automator.launch({
      projectPath: '...'
    })
    // 第二种Mock:使用处理返回函数
    await miniProgram.mockWxMethod(
      'getStorageSync',
      function (key, defVal) {
        console.log('exec mock function: defVal=', defVal)
        if (key === 'name') return 'redhoodsu'
        if (key === 'sex') return 'male'
        return defVal
      },
      'unknown',
    )

    console.log(('444'), await miniProgram.callWxMethod('getStorageSync', 'name')) // -> 'redhoodsu'
    await miniProgram.restoreWxMethod('getStorageSync')

    console.log(('555'), await miniProgram.callWxMethod('getStorageSync', 'name')) // -> ''


实际输出结果:

444 redhoodsu

    555 redhoodsu

问题1:miniProgram.restoreWxMethod貌似失去了作用,是哪里没有调用对吗?

问题2:处理返回函数的调试信息,打印不出来,是不支持吗?

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签