在RequireJS中模拟Google地图以脱机运行测试

时间:2013-04-25 09:47:06

标签: google-maps-api-3 requirejs qunit

我使用https://github.com/millermedeiros/requirejs-plugins中的异步插件加载Google Maps API:

define(['async!//maps.google.com/maps/api/js?libraries=places&sensor=false'], function () {
    // ...
});

这导致在运行单元测试时需要Internet连接。有没有办法模拟或以其他方式允许加载它的代码脱机运行而不会引发“无法加载资源”错误?

1 个答案:

答案 0 :(得分:1)

我的解决方案是在运行QUnit测试时使用空模块代替我的google_maps模块。

google_maps.js

define(['async!//maps.google.com/maps/api/js?libraries=places&sensor=false'], function () {
    return window.google;
});

google_maps_stub.js

define(function () {
    window.google = {};
    return window.google;
});

requirejs_config_qunit.js

define(['./requirejs_config_development.js'], function () {
    requirejs.config({
        paths: {
            'google_maps': 'js/lib/google_maps_stub'
        }
    });
});