1
我正在编写一个测试用例来窥探谷歌跟踪对点击事件的调用。代码中包含两种情况。一,遍历页面上的所有超链接,并在for循环内调用click方法。其次,为各个元素编写独立的测试用例。测试与摩卡和Sinon的链接呼叫
describe("Container Tags Automated Test Suite", function() {
var spy;
var assert = sinon.assert;
beforeEach(function() {
spy = sinon.spy(window.spyConfig.object, window.spyConfig.method);
});
afterEach(function() {
spy.restore();
});
// Trackable links & total links count
var links = $("a.wrapper-link"),
linksCount = links.length;
//FIRST APPRAOCH : MAKE ARRAY OF LINKS
for(var i=0; i < linksCount ; i++) {
it ("Track All page links", function() {
link = $(links[i]);
link.click();
assert.called(spy);
});
}
//SECOND APPROACH : Invidual Selectors
it ("Track single link", function() {
link = $('a.wrapper-link');
link.click();
assert.called(spy);
});
});
问题:如果我们使用独立的jQuery选择每个测试用例一切工作正常。例如。测试案例“Track Single Link”在每次执行时都通过了。
但是,第一种方法是在链接上创建数组,然后将click事件绑定到强制测试用例失败的元素。过去几个小时努力尝试,但没有找到任何运气找到这个问题的根源。请帮忙。
谢谢很多人,救了我的一天。如果您不介意,请分享一些有用的博客链接,以了解关于此循环问题的更多信息。非常感谢。 –