【发布时间】:2012-12-01 09:03:17
【问题描述】:
我需要为大量使用 Google Maps API v3(计算距离、在地图中创建标记等)的 AngularJS 应用程序编写单元测试,并且我知道我应该以某种方式创建或模拟地图画布,以便我可以对以下函数进行单元测试使用 Google Maps API 并在该画布上创建标记,但我不知道该怎么做,而且我找不到任何关于如何基于 Google Maps API 对应用程序进行单元测试(最好使用 AngularJS/Jasmine)的好的教程/资源。
任何工作示例——即使是最简单的单元测试——我们都将不胜感激。
【问题讨论】:
-
您是否创建了注入 Google Maps API 的服务?如果是这样,那么单元测试会很容易......如果不是,那么单元测试会更难。
-
@blesh - 谢谢你......但我恐怕不会跟随。
-
您的单元测试不应测试 google 是否存在或行为是否恰当。所以基本上你不要测试谷歌。您测试您的控制器、服务等是否向所需的 google 服务发送正确的调用。为此,在您的测试中,您不使用谷歌,而是使用您创建的一些“假”谷歌(所谓的模拟)。一个声称是谷歌地图服务的服务,但实际上很愚蠢,只返回你定义的结果。你知道这是怎么回事吗?
标签: javascript google-maps angularjs