2017-12-08 11 views
1

私はこのような "test.js"というモジュールを持っています。ジャスミンでモジュールから関数をテストする

export default function main(){ 
    sub_main(); 
} 

export function sub_main(){ 
//Do something 
} 

ジャスミンでsub_mainのメソッドをテストしたいと思います。ステートメントを使用してjasmineでテストするsub_main()関数をインポートしようとしましたが、Jasmineは "予期しないトークンのインポート"を遵守してからrequireステートメントを使用しました。 test.jsモジュールのexportというキーワードに準拠しました。

答えて

1

これは適切なパスにあなたを得るのに役立ちます。 CommonJSモジュールの情報は、使用する必要があるように見えるかもしれません。

module.exports = { 
    main: function() { 
     this.sub_main(); 
    }, 

    sub_main: function() { 
     return 'It Works!'; 
    } 
} 

と作業のテスト例:

it('should work', function() { 
    const sub_main = require('./path/to/myModule').sub_main; 
    const itWorks = sub_main(); 

    expect(itWorks).toEqual('It Works!'); 
}); 
1

使用している構文は、ノードのバージョンでサポートされていない、実際にES6 importsです。

翻訳されたファイルをジャスミンにロードする前にBabel with Jasmineを使用するか、@ thehbeardedoneが彼の答えに言ったCommonJSという方法でコードを書いてください。

関連する問題