2016-10-24 17 views
1

テストスイートでいくつかの設定を行うと、時には生成されたhtmlファイルをデバッグする必要があります。カルマ:ファイルサーバー上のキャッシュがありません

良いことは、デバッグ機能がありますされていますdebug button

はそのために、私はkarma start --no-single-runを実行します。

しかし、私が作るすべてのファイルの変更で、私はそれ以外の場合は、キャッシュされたファイルが提供され、プロセスを強制終了して再起動する必要があります:私は、この特定の状況では、キャッシュからサーバーを防ぐことができますどのように

cached

?とにかく、ほとんどの時間私はsingle-runモードで実行するので、キャッシュはあまり興味がありません。

おかげ

答えて

0

--auto-watchは助けることがあります。

karma start --no-single-run --auto-watch 

あなたには、いくつかのファイルを変更した場合は、カルマランナーはリロード(キャッシュ)されますそれらを、それが自動的に再テストを実行します。その後、debug.htmlページを更新すると、karma-runnerを再起動せずにこれらのファイルの新しいバージョンが取得されます。

+0

と思われます。しかし、なぜファイルをキャッシュする必要がありますか?一度ロードするのではなく、すべてのリクエストでファイルコンテンツを読み込む通常のWebサーバーを設定するだけでは問題ありませんか? –

+0

カルマは 'auto-watch'モードを念頭に置いてキャッシュに依存していると思います。 Karma-runnerはできるだけ早くテストを再開したいと考えています。それはおそらくすべてのファイルをキャッシュに保存してリロードするだけです。 – idmitme

+0

ありがとう@SphDevしかし、これはカルマの実行コンフィギュレーションでIntelliJからテストを実行するときには役に立ちませんでした。 –

1

IntelliJでテストを実行しているときにこの問題が発生した場合は、workaroundをご覧ください。

function runTests() { 
    var serverPort = cli.getServerPort(); 
    var urlRoot = cli.getUrlRoot() || '/'; 
    if (urlRoot.charAt(urlRoot.length - 1) !== '/') { 
    urlRoot = urlRoot + '/'; 
    } 
    runWithConfig({ 
    port: serverPort, 
    refresh: false,  // set this flag to true 
    urlRoot: urlRoot 
    }); 
} 

これは、karma-intellijプラグインではまだ知られていない問題です。

関連する問題