wx.getAccountInfoSync().miniProgram.envVersion报错问题
Closed this issue · 5 comments
试了下没问题,你是不是 mock 时间晚于执行时间了?把 mock 放到用例最开始的地方试试?
@JuneAndGreen 之前有遇到过类似的问题。我看了一下代码,引入simulate的时候,会重新覆盖一遍global.wx,
import * as simulate from 'miniprogram-simulate'
具体在miniprogram-simulate/src/index.js 第九行
const injectDefinition = require('./definition')
在miniprogram-simulate/src/definition.js 第27行
global.wx = api
假设我再执行单元测试脚本之前,先写了global.wx = {}
然后再单元测试脚本运行的时候再引入simulate, 就会重写掉global.wx
目前我的解决办法如下:
Object.defineProperty(global, "wx", { get(){ return globalWx }, set(newValue: any): void{ console.log("设置global.wx 没用 被我劫持了") }, });
@JuneAndGreen 之前有遇到过类似的问题。我看了一下代码,引入simulate的时候,会重新覆盖一遍global.wx,
import * as simulate from 'miniprogram-simulate'具体在miniprogram-simulate/src/index.js 第九行const injectDefinition = require('./definition')在miniprogram-simulate/src/definition.js 第27行global.wx = api假设我再执行单元测试脚本之前,先写了global.wx = {} 然后再单元测试脚本运行的时候再引入simulate, 就会重写掉global.wx
修复了一下到 miniprogram-simulate@1.5.5,如果 global.wx 是个对象就进行浅拷贝。

