我按照文档使用 ava 创建了我的第一个测试,但它似乎无法正常运行。我收到以下错误。我尝试在文件顶部添加import 'babel-register';
,它可以正常工作,但前提是我运行了一个特定的测试文件。例如ava ./test/helpers/test_helper.js
。虽然自己运行ava
导致下面的导入错误。有没有其他人知道如何解决这个问题?入门指南使用ES6导入,我不知道为什么我的不能正常工作。
(function(exports,require,module,__ filename,__ dirname){import 从'ava'测试; ^^^^^^ SyntaxError:意外的令牌导入
test.js
import test from 'ava';
test(t => {
t.deepEqual([1, 2], [1, 2]);
});
答案 0 :(得分:3)
添加到您的[Route("api/[controller]")]
public class NopProductController : Controller
{
private INopProductService _nopProductService { get; set; }
public NopProductController(INopProductService nopProductService)
{
_nopProductService = nopProductService;
}
[HttpGet]
[ResponseCache(Duration = 60, Location = ResponseCacheLocation.None)]
public IActionResult GetChangedProducts()
{
return Ok(_nopProductService.GetChanged());
}
}
package.json
您的"ava": {
"files": [
"test/**/*.js"
],
"require": [
"babel-register"
],
"babel": "inherit"
},
.babelrc
然后你的进口应该有效。
答案 1 :(得分:0)
使用AVA的ES模块很容易
$ npm install esm --save-dev
然后在package.json中添加
{
"ava": {
"require": [
"esm"
]
}
}
Babel永远无法正常工作,我每天花更多的时间在调试工具上,而我的代码每天都用这堆CS!
答案 2 :(得分:0)
将此添加到您的package.json
"ava": {
"babel": true
}
例如
https://github.com/e2e-boilerplate/selenium-webdriver-es-modules-babel-ava/blob/master/package.json
https://github.com/e2e-boilerplate/puppeteer-es-modules-babel-ava/blob/master/package.json
答案 3 :(得分:-3)
安装了yarm / 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