2017-04-21 14 views
3

jest frameworkを使用してvoid javascript関数(何も返さない関数)をテストするには?あなたは同じものの例を教えてください。jestを使用してvoid javascript関数をテストする方法は?

+0

ベストあなたは、彼らが返すどのようなあなたのタイトル –

+2

テストをグーグル?彼らは 'undefined'を返しますか? –

+3

値を返さない関数は、副作用があるか、無意味です。渡されたオブジェクトの状態を変更する、または環境内で何かを行うなどの副作用関数が無意味でない場合は、その副作用をテストします。実際の例を挙げておけば、あなたを助けるほうがはるかに簡単です。 –

答えて

3

void関数をテストする最も良い方法は、依存関係の動作を嘲笑することです。

// module being tested 
import sideEffect from 'some-module'; 

export default function() { 
    sideEffect(); 
} 

ファイルモックと機能の期待を使用すると、予想通りの機能は、他のモジュールと呼ばれることを主張することができます

import hasSideEffect from './hasSideEffect'; 
import sideEffect from 'some-module'; 

jest.mock('some-module'); 

test('calls sideEffect',() => { 
    hasSideEffect(); 

    expect(sideEffect).toHaveBeenCalledTimes(1); 
    expect(sideEffect).toHaveBeenCalledWith(); 
}); 
関連する問題