簡體   English   中英

如何編寫依賴於另一個套件變量的茉莉花測試套件? (茉莉花1.3)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM