2017-07-18 5 views
0

Sinon.JSを使用して次のような関数をテストするにはどうすればよいですか?Sinon.JSを使用したファンクションチェーンのテスト

私は無駄に、以下のようなものをやってみました
export function getToken(done) { 
    const kc = Keycloak(config) 
    kc.init({ onLoad: 'login-required' }) 
    .success(authenticated => { 
     authenticated ? done(null, kc.token) : done(new Error('Some error!'), null) 
    }) 
    .error(() => { 
     done(new Error('Some error'), null) 
    }) 
} 

keycloak-jsから基本的に

it('should return access_token',() => { 
    const mockKeycloak = sinon.stub(Keycloak, 'init').returns({ 
     success:() => (true) 
    }) 
    getToken(function() {}) 
    expect(mockKeycloak.callCount).to.equal(1) 
    }) 

Keycloakは生命維持ですが、でもウィンドウ参照の上Keycloakオブジェクトをスタブしようとした後、私はそれを動作させることはできません。ここの土地誰のため

答えて

0

、これは私がやったことです:

Keycloakが生命維持ですので、我々はそのため私はちょうどからこのオブジェクトkc

const kc = Keycloak(config) 

を輸出しないと、それはスタブオブジェクトを上書きしますソースとそれにinitメソッドをスタブし、それは正常に動作しました!

関連する問題