我正在编写一个测试用例来监视点击事件的谷歌跟踪调用。代码中有两种情况。一、遍历页面上所有的超链接,在for循环里面调用click方法。其次,为各个元素编写独立的测试用例。
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”在每次执行时都通过了。
但是,第一种方法是在链接上创建一个数组,然后将点击事件绑定到强制测试用例失败的元素。从最后几个小时开始努力,但没有找到任何运气来找到这个问题的根本原因。请帮忙。