設置單元測試(特別是使用Jasmine)的最佳方式是使用多個版本的jQuery進行測試。顯而易見的方法是讓全局測試頁面設置一系列iframe,但我想知道是否有方法在單個頁面中實現它。作爲一個天真的第一刺,我已經嘗試了以下,未能運行任何測試。針對jQuery的多個版本運行jasmine測試
有沒有人有任何想法如何修改,或更好的方法?
function testSuite() {
describe("jquery.flickbook", function() {
it("makes testing JavaScript awesome!", function() {
expect(true).toBeTrue();
});
});
}
function testAllJquerys() {
var jqueryInclude = document.getElementById("jquery"),
head = document.getElementsByTagName("head")[0],
versions = "1.6,1.7.1,1.5.1".split(",");
function runSuite() {
describe("jquery-" + version, testSuite);
switchjQuery();
}
function switchjQuery() {
version = versions.shift();
// jQuery = $ = null;
jqueryInclude = document.createElement("script");
jqueryInclude.type = "text/javascript";
if (jqueryInclude.addEventListener){
jqueryInclude.addEventListener('load', runSuite, false);
} else if (jqueryInclude.attachEvent){
jqueryInclude.attachEvent('onload', runSuite);
}
head.appendChild(jqueryInclude);
jqueryInclude.src = "../../jquery/jquery-" + version + ".js";
}
switchjQuery()
}
testAllJquerys();
審議這個多了,我想我們需要的是異步運行茉莉測試套件的一些方法,所以我打算用waitsFor()方法 – wheresrhys 2012-01-09 10:54:37
關於進一步反射實驗,我想的iframe解決方案是最好的,因爲它也允許對各種文檔類型進行測試,但是如果任何人仍然覺得像上面提到的那樣找到探針的解決方案,我仍然很想知道如果可能的話。 – wheresrhys 2012-01-09 11:35:16