[英]How to write a jasmine test suite that depends on variables from another suite? (jasmine 1.3)
我正在編寫量角器測試套件,並且需要測試使用從另一個套件生成的頁面的東西。 我只能想出一種編寫測試的方法,但它似乎不是一種編寫它的好方法:
var someStuffToSave = [];
describe('description of first thing', function(){
it('should generate some things', function(){
someStuffToSave.push(generateSomeThings());
});
it('should generate some things', function(){
someStuffToSave.push(generateSomeThings());
});
it('should generate some things', function(){
someStuffToSave.push(generateSomeThings());
element(by.id("something")).getText().then(function(){
for(var i = 0; i < someStuffToSave.length; i++) (function(){
var idx = i;
describe('thing analysis' + idx, function(){
it('should be something', function(){
expect(someStuffToSave[idx]).toEqual(true);
});
});
})();
});
});
});
我寧願做這樣的事情,但問題是第二個描述的內部立即執行,並且不要等待第一個描述完成。
var someStuffToSave = [];
describe('description of some thing', function(){
it('should generate some things', function(){
someStuffToSave.push(generateSomeThings());
});
it('should generate some things', function(){
someStuffToSave.push(generateSomeThings());
});
it('should generate some things', function(){
someStuffToSave.push(generateSomeThings);
});
});
describe('analyzing things', function(){
for(var i = 0; i < someStuffToSave.length; i++)function(){
var idx = i;
describe('thing ' + idx, function(){
it('should be something', function(){
expect(someStuffToSave[idx]).toEqual(true);
});
});
}
});
是否有一些方法可以在第一個描述中沒有'then'的內部寫這個?
通常,您不應該在'describe'塊中的Jasmine中進行任何設置登錄。 當Jasmine正在設置您的測試時,其中的代碼運行,而不是正確的順序。 如果你只是將for循環放在'it'塊中,你的第二種方法應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.