如何为打字稿单元测试模拟Google Maps

时间:2020-10-30 09:26:55

标签: typescript unit-testing google-maps

我正在尝试为使用打字稿编写的使用Google Maps的组件创建单元测试。

我的组件收到一个@Prop,并在async mounted()步骤中,它使用从GoogleMapsApiLoader导入的import GoogleMapsApiLoader from 'google-maps-api-loader';加载Google Maps的api。

此步骤更改了一些数据,这些数据定义为:

data() {
        return {
            elementOne: undefined,
            elementTwo: undefined,
        };
    }

当我手动测试时,一切正常,数据元素按预期更改,并且地图正确显示。我现在正在为此编写单元测试。首先,我要检查数据是否已相应更新。

我将对象安装为

const prop1 = 'myprop';
wrapper = mount(MyObject, {
    propsData: {
        propone: prop1
    }
});

然后我试图获取这样的数据:

expect(pomap.vm.$data.elementOne).to.be.equal(elementOneTest);

这是行不通的,

expect(pomap.vm.elementOne).to.be.equal(elementOneTest);

问题是elementOne是未定义的,似乎对象没有完全构建。

我添加了一个很大的超时,以防出现问题,然后出现错误

Error: Loading took too long at Timeout.eval google-maps-api-loader模块。有什么我缺少的东西对于这项测试有效吗?

也许我需要嘲笑什么?

0 个答案:

没有答案