2017-01-03 18 views
0

こんにちは、私は単純なジャスミンテスト(typescriptを使用して)を開始しようとしていますが、これはうまくいかないようです。どのようなテストは、変数が空でなければ、関数が内部関数のelseセクションで呼び出されているかどうかを調べることです。jasmine 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メソッドを呼び出しますか? (あなたの設定が正しいことを言っていない、btw) –

+0

私はちょうどそれに気づき、それを修正し、同じ問題がまだあります。それを反映するようにコードを更新してください。 –

答えて

0

あなたのスパイの名前が間違っています。コード内でメソッドがgetCountryと呼ばれているのに対し、あなたのスパイがgetCountry2と呼ばれている:

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

ここでは実施例である:http://jsfiddle.net/bBL9P/506/

+0

タイは問題を修正しました。 –

関連する問題