我在为加载谷歌地图的页面编写测试时遇到了困难。我总是收到错误
“无法读取未定义的属性'offsetWidth'”
这意味着当地图脚本加载我用来保存地图的div时,可能已经被删除了(我在div的style属性中设置width和height是100%确定它有一个宽度和身高)。
我正在以一种非常复杂的方式加载我的gmaps脚本,涉及requirejs,但我认为问题与此无关(即使我在运行specRunner时遇到requirejs的错误,但一切正常活)。
我应该如何测试?
答案 0 :(得分:0)
我使用waitFor()
并且它有效。
describe( "Test suite for the 'Event location' Box", function() {
it( "Should show the map when the appropriate checkbok is clicked and should hide it when clicked again", function() {
// Wait for the loading of the gmaps. This is simply when the <div> we use as a container has some html
waitsFor(function() {
return $('#ai1ec_map_canvas').html() !== '';
}, "gmaps never loaded", 15000 );
runs( function() {
$( "#ai1ec_google_map" ).click();
expect( $( '#ai1ec_map_canvas' ) ).toBeVisible();
$( "#ai1ec_google_map" ).click();
expect( $( '#ai1ec_map_canvas' ) ).not.toBeVisible();
} );
} );
} );