2016-09-13 63 views
0

我試圖達到一個全球變量後。 例如:如何使用量角器和茉莉花規格中使用全局變量

var date = 0; 

it('must set a value', function(){ 
    date = 5; 
}); 

it('must compare', function(){ 
    expect(date).toBe(5); 
}); 
+0

他們應該都有權訪問該日期。我認爲date是一個描述函數內的var,對吧?你有沒有小提琴這不工作? –

+0

@ScottFanetti不,我只是想從它的函數中獲得值(5)(必須設置一個值)並在其他函數中進行比較(必須進行比較) – paulotarcio

+0

那麼當你使用這段代碼時究竟發生了什麼,你期望什麼即將發生? – YakovL

回答

0

it塊應該不依賴於彼此。首先,因爲執行是異步的,會導致您意外的行爲。第二,因爲單元測試應該容易準備和獨立...所以當一個失敗時,你知道什麼實際上失敗了(即你不需要查看其他單元塊)

我不確定是什麼你試圖用你的代碼實現,但在我看來,你想要的是類似下面的代碼:

describe('MyTestSpec', function() { 

    var date = 0; 

    beforeEach(function() { 
     //Using beforeEach will actually assume that date will be set to 5 
     //before the execution of your it-block. 
     date = 5; 
    }); 

    it('check if date is 5', function() { 
     expect(date).toBe(5);  
    }); 
});