2017-08-28 13 views
0

私は、Jasmineを使ってAngular 4 Unit TestでGraphQL非同期呼び出しをテストする正しい方法を探していました。 setTimeout機能を使用せずに非同期呼び出しをテストする正しい流れは何ですか? これは私の現在のコードですが、応答angular4ユニットテストで非同期呼び出しを処理する正しい方法は何ですか?

it('shoud swap', (done) => { 
const SequenceMaster = '0'; 
const sequenceMasterAlts = '2138'; 
const sKey = '[DARCARS]SS_02_VW+201701_VW'; 
component.swapTablesData(sKey); 
    expect(component.testVariable).toBe(true); 
    done(); 
}); 

答えて

0

Docsしかしかなりいい説明されているのを待っていないとあなたがfakeAsyncを使用してこの操作を行うことができます。

describe('test service using fakeAsync', fakeAsync(() => { 
    let service: SomeService; 

    beforeEach(() => { 
     TestBed.configureTestingModule({ providers: [SomeService] }); 

     service = TestBed.get(SomeService, null); 
    }); 

    it('should use SomeService',() => { 
     let returnValue: any; 
     service.doSomething().then((val: any) => returnValue = val); 
     tick(); 
     expect(returnValue).toBe('return value using fakeAsync'); 
    }); 
}); 
+0

は、私はすでに、これらの指示に従ってきました。しかし、すべてが非同期呼び出しの前に実行されています –

+0

あなたはどういう意味ですか? – fsi

関連する問題