零食网站色调搭配怎么做,珠江网站建设,下列不属于网站开发技术的是,怎么做网站的一个横向列表下面是一个完整的 Mocha Chai 测试环境配置#xff0c;支持 ES6 语法。我们将使用 Babel 来转译 ES6 代码。
步骤一#xff1a;初始化项目
首先#xff0c;在项目目录中运行以下命令来初始化一个新的 Node.js 项目#xff1a;
npm init -y步骤二#xff1a;安装必要的…下面是一个完整的 Mocha Chai 测试环境配置支持 ES6 语法。我们将使用 Babel 来转译 ES6 代码。
步骤一初始化项目
首先在项目目录中运行以下命令来初始化一个新的 Node.js 项目
npm init -y步骤二安装必要的依赖包
接下来安装 Mocha、Chai 和 Babel 相关的包
npm install --save-dev mocha chai babel/core babel/preset-env babel/register步骤三配置 Babel
在项目根目录创建一个 .babelrc 文件配置 Babel 使用 babel/preset-env 进行转译
{presets: [babel/preset-env]
}步骤四编写测试脚本
在 package.json 中更新 scripts 部分添加一个运行 Mocha 的脚本并使用 Babel 注册器来转译测试代码
scripts: {test: mocha --require babel/register
}步骤五编写测试用例
在项目中创建一个 test 目录然后在该目录中创建一个测试文件例如 test/example.test.js
// test/example.test.js
import { expect } from chai;describe(Array, () {describe(#indexOf(), () {it(should return -1 when the value is not present, () {expect([1, 2, 3].indexOf(4)).to.equal(-1);});});
});步骤六运行测试
在项目根目录运行以下命令来执行测试
sh
npm test如果一切配置正确Mocha 会运行测试并显示测试结果。
这样你就有了一个支持 ES6 语法的 Mocha Chai 测试环境。
错误集合
1. 如果遇到错误: Exception during run: Error [ERR_REQUIRE_ESM]: require() of ES Module /xxxx/node_modules/chai/chai.js from /xxxx/test/scripts/domain/utils/example.test.js not supported.
Instead change the require of chai.js in /xxxx/test/scripts/domain/utils/example.test.js to a dynamic import() which is available in all CommonJS modules.at Object.newLoader [as .js] (/xxxx/node_modules/pirates/lib/index.js:121:7)at Object.anonymous (/xxxx/test/scripts/domain/utils/example.test.js:3:13)at Module._compile (/xxxx/node_modules/pirates/lib/index.js:117:24)at Object.newLoader [as .js] (/xxxx/node_modules/pirates/lib/index.js:121:7)at async formattedImport (/xxxx/node_modules/mocha/lib/nodejs/esm-utils.js:9:14)at async exports.requireOrImport (/xxxx/node_modules/mocha/lib/nodejs/esm-utils.js:42:28)at async exports.loadFilesAsync (/xxxx/node_modules/mocha/lib/nodejs/esm-utils.js:100:20)at async singleRun (/xxxx/node_modules/mocha/lib/cli/run-helpers.js:125:3)at async exports.handler (/xxxx/node_modules/mocha/lib/cli/run.js:370:5) {code: ERR_REQUIRE_ESM
}在 package.json 中添加 “type”: “module” 来指示 Node.js 使用 ESM 模块系统但这可能会影响到其他部分的代码所以需要谨慎处理。
2. 如果遇到错误: Exception during run: Error: Cannot find module /xxxx/app/scripts/domain/utils/example imported from /xxxx/test/test/scripts/domain/utils/example.test.jsat finalizeResolution (node:internal/modules/esm/resolve:255:11)at moduleResolve (node:internal/modules/esm/resolve:908:10)at defaultResolve (node:internal/modules/esm/resolve:1121:11)at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:396:12)at ModuleLoader.resolve (node:internal/modules/esm/loader:365:25)at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:240:38)at ModuleWrap.anonymous (node:internal/modules/esm/module_job:85:39)at link (node:internal/modules/esm/module_job:84:36) {code: ERR_MODULE_NOT_FOUND,url: file:///xxxx/app/scripts/domain/utils/example
}在引入文件的后面要带上扩展名(node.js 是可以省略, 去找 .js, .json 等, 这里不能缺省):
// 错误:
// import {ABC} from ../xxxxxxx/xxxx;// 正确
import {ABC} from ../xxxxxxx/xxxx.js;