gpt4 book ai didi

javascript - 带有 iframe 的 Jasmine 装置

转载 作者:行者123 更新时间:2023-11-29 10:41:11 26 4
gpt4 key购买 nike

我正在使用 jasmine fixtures,我想用一个包含 iframe 的 HTML 编写一个测试。

问题是测试在我的 iframe 加载之前执行。
库本身有解决方案吗?
还是我必须实现自己的机制让它等待?

代码如下:

fixture :

<iframe id="test-iframe1" class="test-iframe1" src="data/tests/pages/iframe1.html" style="width: 400px; height: 600px;" frameborder="20"></iframe>

测试:

describe("iframe -", function() {

beforeEach(function() {
var f = jasmine.getFixtures();
f.fixturesPath = 'base/tests/pages/';
f.load('iframe-main.htm');
});

it('iframe exists', function() {
// HERE - the iframe has not yet loaded
expect($('#test-iframe1').length).toBe(1);
});
});

最佳答案

您需要在 beforeEach() 中添加 done() 函数,您将在其中检查 iframe 的加载

JS

 beforeEach(function(done) {
var f = jasmine.getFixtures();
f.fixturesPath = 'base/tests/pages/';
f.load('iframe-main.htm');

$('#test-iframe1').load(function(){
done();
});

});

并且您的 it() 不会在 done() 调用之前运行。

关于javascript - 带有 iframe 的 Jasmine 装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28853595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com