2017-06-07 7 views
-1

私はpackage.jsonで、次のAVAの設定持っているで使用するソースファイルから依存関係を.jsxのインポートすることを知りません。エヴァはテスト

{ 
"ava": { 
    "require": [ 
     "./tests/helpers/setup-browser-env.js", 
     "./tests/helpers/module-stubber.js", 
     "babel-register" 
    ], 
    "babel": { 
     "presets": [ 
     "es2015", 
     "stage-0", 
     "react" 
     ] 
    }, 
    "failFast": true, 
    "verbose": false, 
    "no-cache": false, 
    "concurrency": 5 
    } 
} 

を、私は次のプロジェクトの構造を有する:

src 
    index.jsx 
    components 
     input.jsx 
tests 
    index.test.js 

index.jsx

import Input from './components/input'; 

console.log(Input); 

import app from '../src'; 
// ... 

input.test.jsinput.jsx

import react from 'react'; 

export default() => <input></input>; 

問題はAVAが私src/index.jsxファイルをtranspileできることであるが、それはinput.jsxをtranspileていないと私はseingています空のオブジェクトが私のコンソールに記録されています。このように、.jsx拡張子を使用してコンポーネントをインポートした場合にのみ動作します。インポート入力 './component/input.jsx。私は拡張機能を指定せずに動作させることはできません。

これはAVAで可能ですか? Webpackでは、この種のパターンを扱う簡単な設定です。

設定セクションのavaドキュメントをご覧ください:https://github.com/avajs/ava#configuration私に役立つフィールドはありません。 (また、設定フィールドは実際には詳細ではないようです)。

アイデア?

ありがとうございます。

+0

@dowvoter説明を待っています –

答えて

1

babel-registerは、AVAではなくinput.jsxが必要です。 ../srcからのインポートは機能しますが、inputのインポートは驚くべきことです。私は本当にあなたのための答えを持っていません。