我正在尝试为使用打字稿编写的使用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
模块。有什么我缺少的东西对于这项测试有效吗?
也许我需要嘲笑什么?