2017-01-03 78 views
0

嗨,我想開始一個簡單的茉莉花測試(使用打字稿),這似乎無法正常工作。如果一個變量不爲空,那麼在內部函數的else部分中是否調用了一個函數,即時測試的目的是什麼。茉莉花JavaScript基本功能測試失敗

我的功能:

let getAndSet =() => { 
    if (main.getApiAcessToken() === "") { 
     main.addIframe(); 
     main.getGraphToken(); 
    } else { 
     getCountry(); 
    } 
}; 

這是測試:

it("should call Function get country if token that was passed not empty",() => { 
    let main2 = main; 
    main2.getApiAcessToken = jasmine.createSpy("getApiAcessToken spy").and.returnValue("not empty"); 
    let getCountry2 = jasmine.createSpy("getCountry spy"); 
    getAndSet(); 
    expect(getCountry2).toHaveBeenCalled(); 
}); 

我似乎不明白可能是什麼問題,我試圖改變一個正常的js函數或本。主要功能裏面沒有人似乎工作似乎我失去了茉莉花非常基本的東西。

+0

我能看到你設置的測試。但是你在哪裏調用測試中的getAndSet方法? (不是說你的設置是正確的,順便說一句) –

+0

謝謝我只是注意到,並修復它,仍然是同樣的問題。也更新代碼以反映這一點。 –

回答

0

你的間諜的名字是錯誤的。您的間諜被稱爲getCountry2而在代碼的方法被稱爲getCountry

getCountry = jasmine.createSpy("getCountry spy"); 
getAndSet(); 
expect(getCountry).toHaveBeenCalled(); 

這裏是一個工作示例:http://jsfiddle.net/bBL9P/506/

+0

ty修復了這個問題。 –