2017-12-10 9 views
0

私はmochaとchaiを使って、サーバを呼び出していくつかのjsonデータを返す観測可能なメソッドをテストしたいと考えています。ただし、テストを実行すると、次のエラーが発生します。 エラー:2000msのタイムアウトを超えました。非同期テストとフックでは、 "done()"が呼び出されていることを確認してください。プロミスを返す場合は、それが解決することを確認してください。 デフォルトのタイムアウト時間を上書きしても、上記のエラーが発生します。私は間違って何をしていますか?単体テストRxjs 5

describe("some test",() => { 
    let someClass: SomeClass; 

    before(() => { 
     someClass = new SomeClass(); 
    }); 
    ; 

    it("should meet some condition", done => { 

     let getData = someClass.getData('query') 

     getData.subscribe(json => { 
      json.success.should.equal(true); 
      done(); 
     }, 
      done 
     ); 

    }); 
}); 

答えて

0

私は私が前にフックし、各it()機能のセットタイムアウトにdone()を呼び出して、解決策を見つけました。

describe("some test",() => { 
    let someClass: SomeClass; 

    before((done) => { 
     someClass = new SomeClass(); 
     done(); 
    }); 
    ; 

    it("should meet some condition", done => { 

     let getData = someClass.getData('query') 

     getData.subscribe(json => { 
      json.success.should.equal(true); 
      done(); 
     }, 
      done 
     ); 
    }).timeout(10000); 
});