使用外部javascript dependecies对ionic3项目进行单元测试

时间:2018-04-03 17:22:40

标签: angular google-maps-api-3 ionic3

我有一个使用谷歌地图和wicket JS库的离子应用程序。 在index.html中,我有

alpha=0.025

并且在模拟器或离子服务器中运行应用程序时一切正常,但是当使用地图对组件进行单元测试时,我得到了#34; google未定义"行上的错误

<script src="assets/wicket.js"></script>
<script src="http://maps.google.com/maps/api/js?key=[key]&libraries=drawing,places"></script>

我猜这是因为我错过了测试配置中的js引用,但我不知道在哪里以及如何包含它们。 有谁知道在测试配置中包含这些? (我一直在关注https://www.joshmorony.com/how-to-unit-test-an-ionic-2-application/教程,将单元测试添加到现有应用程序中。

谢谢, 尤瓦

1 个答案:

答案 0 :(得分:0)

您需要做的是模拟依赖项,在这种情况下是google maps lib或google object。

您可以使用库或创建一些模拟服务。在这种情况下,我会尝试找到一个好的模拟库:https://github.com/sttts/google-maps-mock它不是离子特定的,但它可能会起作用。

也可以尝试在函数中使用局部变量来实例化生命周期钩子,例如onInit this.location = new google.maps.LatLng(0, 0);能够更轻松地进行测试。

我在这里https://github.com/chrisgriffith/ionic-native-mocks/blob/master/package.json发现了一些有用的"@ionic-native/google-maps": "^4.5.3",