2017-01-17 100 views
-1

我按照文檔創建了我的第一個測試,使用ava但它似乎沒有正常運行。我收到下面的錯誤。我試着在文件的頂部添加import 'babel-register';,它可以工作,但只有在運行一個特定的測試文件時纔有效。例如ava ./test/helpers/test_helper.js。自己運行ava雖然...導致下面的導入錯誤。有誰知道如何解決這個問題?入門指南使用ES6導入,我不知道爲什麼我的工作不正常。ESA import for'ava'test not working

(function (exports, require, module, __filename, __dirname) { import test from 'ava'; ^^^^^^ SyntaxError: Unexpected token import

test.js

import test from 'ava'; 

test(t => { 
    t.deepEqual([1, 2], [1, 2]); 
}); 

回答

4

添加到您的package.json

"ava": { 
    "files": [ 
    "test/**/*.js" 
    ], 
    "require": [ 
    "babel-register", 
    ], 
    "babel": "inherit", 
}, 

.babelrc

{ 
    "presets": ["es2015"] 
} 

,進口應該工作。

+0

太棒了!修復了錯誤,但我又遇到了另一個問題。我會在上面發帖,聽到你的想法會很棒:) – Clement

-2

你亞姆/ NPM安裝了它,你跑ava --init後?

在package.json中,該命令說什麼? 如果你運行(如果你使用npm)npm run test,它應該在你的package.json中執行命令。

如果您的測試目錄中有任何.js(ES6),它應該執行它(示例也在其github頁面https://github.com/avajs/ava上)。

您不需要添加上述評論中提到的所有內容。 這些命令應該得到你的工作運行:

mkdir avatest 
cd avatest 
npm init 
npm install --global ava (you probably did this already) 
npm install --save-dev ava 
ava --init 
touch test/test.js 
atom test/test.js (pasted your script) 
npm run test 
> 1 passed