2016-04-06 8 views
2

webpack + babelでコンパイルしているときに、ブラウザでtap(またはtape)のテストを実行するための正しい設定が見つかりません。ここで`webpack`で` tap`テストをコンパイルして実行するには?

は死んでシンプルな例です:

ERROR in ./~/tap/lib/test.js 
Module not found: Error: Cannot resolve module 'child_process' in /Users/arnaud/projects/chrome-tap/node_modules/tap/lib 
@ ./~/tap/lib/test.js 30:12-36 

ERROR in ./~/tap/lib/test.js 
Module not found: Error: Cannot resolve module 'module' in /Users/arnaud/projects/chrome-tap/node_modules/tap/lib 
@ ./~/tap/lib/test.js 33:13-30 

ERROR in ./~/tap/lib/test.js 
Module not found: Error: Cannot resolve module 'fs' in /Users/arnaud/projects/chrome-tap/node_modules/tap/lib 
@ ./~/tap/lib/test.js 34:9-22 

またはtapeと::

ERROR in ./~/tape/lib/default_stream.js 
Module not found: Error: Cannot resolve module 'fs' in /Users/arnaud/projects/chrome-tap/node_modules/tape/lib 
@ ./~/tape/lib/default_stream.js 2:9-22 
モジュールがpolyfilledされていないnodejsとして上記をコンパイルしようとすると

import test from 'tap'; 

test('random test', function(t){ 
    t.ok(true, 'great!'); 
}); 

は、次のエラーを生成します

テストをコンパイルして実行することができますですが、代わりにwebpackを使用したいと考えています。

また、純粋なES6(すなわちnon nodejs)TAPライブラリがありますか?

答えて

3

私はkarmaを使用してwebpack経由でテープテストを実行します。 This blog postは本当に助けになりました。タップ、ウェブパック、イスタンブールのカルマアドオンがあります(カバレッジが必要な場合)。基本的にあなたはカルパにウェブパックを使用していることを伝え、カルパック設定にウェブパック設定を追加し、Webpackエントリポイントをすべてのスペックモジュールを必要とするモジュールにします。

私はどこかで道に沿った基準エラーを回避するために、私のテストのWebPACKの設定に

node: { 
    fs: "empty" 
} 

を追加する必要がありました。

関連する問題