TestsNodejs -mocha和babel中的编译器弃用

hm2xizp9  于 2022-12-08  发布在  Babel
关注(0)|答案(2)|浏览(146)

我正在节点上构建API rest,并进行集成测试(Babel、Chai、Mocha)
我变了

--compilers js:babel-core/register

用于

--require babel-core/register

如文件所建议:https://github.com/mochajs/mocha/wiki/compilers-deprecation
但是,当我在mocha.opts文件中进行此更改时,出现错误:

C:\Users\Ranulfo\Desktop\noderest>npm run test-integration

> noderest@1.0.0 test-integration C:\Users\Ranulfo\Desktop\noderest
> mocha --opts test/integration/mocha.opts test/integration/*.js

C:\Users\Ranulfo\Desktop\noderest\test\integration\helpers.js:1
(function (exports, require, module, __filename, __dirname) { import supertest f
rom 'supertest';
                                                              ^^^^^^

SyntaxError: Unexpected token import

有关代码的更多详细信息:
摩卡选项(测试/集成/摩卡):

--require test/integration/helpers.js
--reporter spec
--require babel-core/register
--slow 5000

帮助程序. js(测试/集成/帮助程序. js)

import supertest from 'supertest';
import chai from 'chai';
import app from '../../app';

global.app = app;
global.request = supertest(app);
global.expect = chai.expect;

package.json

{
  "name": "noderest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "babel-node ./index.js",
    "test": "echo \"Error: no test specified\" && exit 1",
     "test-integration": "mocha --opts test/integration/mocha.opts test/integration/*.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-preset-env": "^1.7.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-node6": "^11.0.0",
    "babel-preset-stage-2": "^6.24.1",
    "babel-register": "^6.26.0",
    "chai": "^4.1.2",
    "mocha": "^5.2.0",
    "supertest": "^3.1.0"
  },
  "dependencies": {
    "express": "^4.16.3",
    "sequelize": "^4.37.10",
    "sqlite3": "^4.0.0"
  }
}

.Babel

{
  "presets": ["env"]
}
xpcnnkqh

xpcnnkqh1#

对于那些只是因为使用编译器的弃用通知的错误而在这里的人,没有其他与巴别塔有关的问题。

  • 只需安装依赖项**@babel/register**。
  • 并将测试脚本从*mocha --compilers js:babel-core/register*更改为mocha --require @babel/register

这应该可以解决您关于来自摩卡的错误通知的错误。

nqwrtyyt

nqwrtyyt2#

随着“Babel”版本7的更新,增加了一些配置步骤。
要调整“错误”,请执行以下步骤:
安装指定的依赖项:npm install --save-dev @ babel / register将“mocha.opts”文件更改为以下行的编译器:--编译器js:@ babel / register完成后,您的工作流程应该正常化了。
注意:请注意本教程中未提供的以下依赖关系。

npm install --save-dev @babel/cli
npm install --save-dev @babel/core
npm install --save-dev @babel/node
npm install --save-dev @babel/preset-env
npm install --save-dev @babel/register

辅助内容:
**安装程序:**https:babeljs.io/setup#installation
迁移:https://babeljs.io/docs/en/v7-migration
Mocha问题-编译器过时https://github.com/mochajs/mocha/wiki/compilers-deprecation

相关问题