2017-06-28 13 views
0

Webプロジェクトでは、ES6モジュールはまだ使用されていません。その代わりに、私たちはTypeScriptソースを翻訳し、それらをすべて一緒に連結します。ES6モジュールを使用しないjestの使用

これはブラウザとKarmaとWallabyJS(設定ファイルにfilesオプションを設定すること)でうまくいきます。

私たちの1500テストは実行に時間がかかりますので、私はJestをチェックしたかったのです。しかし、jestがインポートしているタイプを見つけることができないため、テストが失敗します。

例えば、我々はStringUtilsという名前のクラスを持っているし、次のコードのために:

import StringUtils = common.utils.StringUtils; 

class Person { 
    private _name: string; 
    address(): string { 
     return StringUtils.buildAddress(this); 
    } 
} 

我々はで失敗:

ReferenceError: common is not defined 

はロードする何のファイル冗談言うする方法はあります(テストを実行する前に、カルマとウォラビーと同じように)

あなたがあなたの package.jsonのもの、または置く setupTestFrameworkScriptFileまたは[にSetupFiles]([setupTestFrameworkScriptFile](それはあなたのテストの実行を開始する前に、セットアップいくつかのものができるようになる https://facebook.github.io/jest/docs/configuration.html#setupFiles]

を指定することができるはず

答えて

0

別のファイル(--configフラグを渡した場合)

+0

実際には動作しません。例えば、jQueryを必要とするモジュールは、ロードされたことを実際に「認識」していません。他のモジュールを見つける。 setupFilesは、グローバルオブジェクトとして 'window'を持たないのでロードされていないようですそれを正しく更新し、他のモジュールはそれらを正しく使用することはできません。 – splintor

関連する問題