9

Fluxxor を使用してイベント ディスパッチャを提供する React アプリケーションのテストを書いています。これを機能させるには、内部で使用され、Node 自体によって提供されるいくつかのモジュールをモックしないように Jest に指示する必要があります。

つまり、それらをunmockedModulePathPatterns構成キーに追加するだけではなく、代わりに次のようなコードを使用する必要があります。

[ 'util', 'events' ].forEach(function (module) {
  jest.setMock(module, require.requireActual(module));
});

しかし、それを置くのに役立つ場所が見つかりません。setupEnvScriptFileほとんどすべてのテストで使用するいくつかのグローバルをセットアップする がありますjestが、そのコンテキストではオブジェクトを使用できないように見えるため、そこにモックを設定することはできません。

describeちょっとした一時しのぎの手段として、Fluxxor ストアをテストするブロックの最初に呼び出す関数で上記のコードをラップしましたが、理想とはほど遠いものです。

4

3 に答える 3

2

config.setupTestFrameworkScriptFileを試しましたか? ドキュメントに従って、API にモンキー パッチを適用するのに適切な場所のようです。

于 2015-01-09T12:31:25.680 に答える
0

FWIW、Fluxxor と React-Router のサポートをテスト仕様に追加するために使用しているソリューションを次に示します。

https://gist.github.com/adjavaherian/a15ef0461e65d58aacd2

于 2015-03-02T19:30:48.213 に答える