2017-09-16 8 views
0

Jestを使用してメソッドをテストしようとしています...メソッドはPromise.reject()を返す必要があります。私がテストを実行すると呼び出されるアサーションが1つ必要ですが、アサーションコールがゼロになる

test('testing Invalid Response Type',() => {  
     const client = new DataClient(); 

     client.getSomeData().then(response => { 
      console.log("We got data: "+ response); 
     }).catch(e => { 
      console.log("in catch"); 
      expect(e).toBeInstanceOf(IncorrectResponseTypeError); 

     }); 
     expect.assertions(1); 

    }); 

、それは「キャッチに」印刷しますが、この例外で失敗します: 予想1アサーションと呼ばれるが、ゼロアサーション呼び出しを受けられるようにここで

は、私が書いたコードです。

console.log src/data/dataclient.test.js:25 
     in catch 

    ● testing Invalid Response Type 

    expect.assertions(1) 

    Expected one assertion to be called but received zero assertion calls. 

     at extractExpectedAssertionsErrors (node_modules/expect/build/extract_expected_assertions_errors.js:37:19) 
      at <anonymous> 
     at process._tickCallback (internal/process/next_tick.js:188:7) 
+0

が見えます。 (あなたはエラーをキャッチしましたが、タイプが 'IncorrectResponseTypeError'ではありませんでした) –

+0

あなたのコンソールに' e'を記録して実際にどのタイプがあるかを調べることができます –

答えて

0

ブロックの前にreturn文を追加して解決しました。 return文関数は..終了するcatchブロックを待つので、期待していますと が実行されます..あなたが一致するERRORTYPEを持っていないよう

client.getSomeData().then(response => { 
      console.log("We got data: "+ response); 
     }).catch(e => { 
      console.log("in catch"); 
      expect(e).toBeInstanceOf(IncorrectResponseTypeError); 

     }); 
     expect.assertions(1); 
関連する問題