@fluid-internal/mocha-test-setup

中文文档
3.12.0发布于 2026/11/11MITESM + CJS近 30 天下载 2716

流体测试用具

中文使用文档
文档目录16 节
  1. 正在测试
  2. 环境变量
  3. 毛里求斯-SPEC
  4. FLUID TEST PERF MODE 软件
  5. FLUID TEST TIMEOUT (法语)
  6. FLUID TEST FORBID ONLY (法语)
  7. FLUID TEST MODULE SYSTEM (英语)
  8. FLUID LOGGER PROPS (法语)
  9. FLUID TEST LOGGER PKG SPECIFIER (英语)
  10. 基础 mocharc.cjs 配置
  11. 特殊行为
  12. 默认禁止控制台输出
  13. 遥测事件
  14. 贡献准则
  15. 帮助
  16. 商标

@fluid- 内部/ mocha- test- setup

重要:流体框架将本套件作为实施细节. 不要把它当作公众的依赖. 我们不保证这一一揽子计划或其API的稳定.

这个套件有几个主要目的:

  • 曝光/ 生成默认值 .mocharc.cjs 运行的配置 摩卡岛 测试,哪些其他 软件包可以扩展.
  • 添加摩卡语 beforeAll, (中文(简体) ), beforeEach 财务报告和审定财务报表 afterEach 根钩子插件 应添加 做测试时有特殊的行为.

正在测试

对于使用此配置的软件包, 构建软件包及其测试, 然后运行 pnpm exec mocha 从软件包目录.

环境变量

在运行Mocha前设定环境变量. 用于跨平台脚本 cross-env,例如 pnpm exec cross-env MOCHA_SPEC=lib/test/example.spec.js mocha。 。 。 .

毛里求斯-SPEC

设定已编译的测试文件、 目录或 glob 以加载, 相对于软件包目录. 它取代默认选择 lib/test (或 dist/test 与 FLUID_TEST_MODULE_SYSTEM=CJS) (中文(简体) ). 与 MOCHA_SPEC,位置文件参数和 --spec 由于 Mocha的配置合并。 。 。 . 单独过滤的名称仍然装入所有已配置的测试文件; 使用 MOCHA_SPEC 以避免装入无关文件.

FLUID TEST PERF MODE 软件

设定为 1 以衡量基准,而不是将其作为正确性测试. 留待正确性测试; 不使用 0 来禁用它.

此选项选择基准记者, 设定每次测试1000秒超时, 并将结果写入 ./benchmarkOutput.json。 。 。 . 覆盖超时 FLUID_TEST_TIMEOUT 和报告路径 --reporterOptions reportFile=<path>。 。 。 .

默认 @Benchmark 提供时省略过滤器 --fgrep <text> 或者说 --grep <pattern> (使用这些带单独参数的长选项). 您的过滤器取代而不是与默认相交. 见 基准过滤 标记和结合制约.

FLUID TEST TIMEOUT (法语)

超越了莫查每试时数以毫秒计的超时,包括性能-模式默认.

FLUID TEST FORBID ONLY (法语)

当出现时,让Mocha进入 forbid-only 选择拒绝独家测试.

FLUID TEST MODULE SYSTEM (英语)

当设定为"CJS"时,当前运行被设置为为普通JS覆盖:

  • "CJS"被指为变体并被显示为测试案例名的前缀.
  • JUnit测试结果文件会被前缀为"CJS-".
  • 默认 spec 更改自 lib/test 改为 dist/test。 。 。 .

FLUID LOGGER PROPS (法语)

将 JSON 对象序列化为 testEnvProps 遥测场. 内容 hostName 属性还覆盖事件 hostName数字 :

FLUID_LOGGER_PROPS='{ "hostName": "Benchmark" }'

FLUID TEST LOGGER PKG SPECIFIER (英语)

指定导出模块 createTestLogger返回一个 ITelemetryBufferedLogger。 。 。 . 设置称为这个工厂,用测试上下文包装日志,并安装全局 getTestLogger 函数. 使用此变量而不是 --require 来配置自定义日志. 管道利用它向内部工程系统发送遥测.

基础 mocharc.cjs 配置

为了利用本软件包所暴露的底模配置,首先添加为 devDependency 给您的 package.json (其余文件已省略):

{
    "devDependencies": {
        "@fluid-internal/mocha-test-setup": "version-that-matches-the-rest-of-the-release-group"
    }
}

然后把这个放进 .mocharc.cjs 在软件包根部的文件 :

"use strict";

const getFluidTestMochaConfig = require("@fluid-internal/mocha-test-setup/mocharc-common");

const config = getFluidTestMochaConfig(__dirname);
module.exports = config;

如果您需要额外的配置, 请修改 config 指定对象之前 module.exports。 。 。 .

如果未明确提供配置文件的路径, Mocha 将默认使用此文件 .

以下节选显示了由 : getFluidTestMochaConfig()数字 :

{
  "recursive": true,
  "require": ["@fluid-internal/mocha-test-setup", "source-map-support/register"], // can be extended by providing additionalRequiredModules to getFluidTestMochaConfig()
  "unhandled-rejections": "strict",
  "node-option": ["conditions=allow-ff-test-exports", "expose-gc"],
  "ignore": [ "**/*.tool.{js,cjs,mjs}" ], // Ignore "tools" which are scripts intended to be run, not part of the test suite.
  "spec": "lib/test" // Defaults to "lib/test" where esm tests typically are. Can be overridden via MOCHA_SPEC.
};

建议测试文件的源头使用以". spec.ts"结尾的文件名,但这没有执行: 默认情况下没有对测试文件进行基于名称的文件过滤,除了忽略 "**/*.tool.{js,cjs,mjs}" 见上文.

注意: 有些软件包会明确地过滤测试文件到 *.spec.js:在这样的包中,与其他名字的测试文件会被默默地忽略.

特殊行为

默认禁止控制台输出

console.log(), (中文(简体) ), console.warn() 财务报告和审定财务报表 console.error() 在测试中被压制,除非 FLUID_TEST_VERBOSE 设置, 例如 FLUID_TEST_VERBOSE=1。 。 。 .

遥测事件

几起遥测事件 fluid:telemetry:Test_start 财务报告和审定财务报表 fluid:telemetry:Test_end 将为每次测试生成. 这个 Test_end 事件包括具有测试状态(通过/失败)的字段,如果超时,则其持续时间. 如果有的话 FLUID_TEST_VARIANT 环境变量存在 testVariant 字段将具有其价值.

贡献准则

你们可以 贡献 通过这些方式实现流体框架:

详细指示改为: repo 文档。 。 。 .

本项目遵循 Microsoft 开源行为守则。 。 。 . 更多信息,改为: 《行为守则》经常被问到的问题。 。 。 . 问题或评论,联系 打开码@ microsoft.com。 。 。 .

这个项目可能包含微软项目的商标或标志,产品,或服务. 这些商标或标志的使用必须遵循微软 商标和品牌准则。 。 。 . 在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.

帮助

读取 流体框架文件 用于了解流体框架概念和API.

要求提供文件未载列的资料, 创建问题。 。 。 .

商标

这个项目可能包含微软项目的商标或标志,产品,或服务.

这些商标或标志的使用必须遵循微软的 商标和品牌准则。 。 。 .

在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.

版本与发布记录

@fluid-internal/mocha-test-setup 共发布 198 个版本,首次发布于 2024/03/27;过去 12 个月发布了 48 个版本。

版本发布日期距今
3.12.0latest2026/11/114 天前
3.11.02026/11/0411 天前
3.10.02026/11/0411 天前
3.7.02026/10/2719 天前
3.6.02026/10/2026 天前
3.5.02026/10/131 个月前

其他发布通道:dev → 2.116.0-416006,rc → 2.118.1。

关于 @fluid-internal/mocha-test-setup 的常见问题

@fluid-internal/mocha-test-setup 是什么?

流体测试用具

如何安装 @fluid-internal/mocha-test-setup?

在项目目录运行 npm install @fluid-internal/mocha-test-setup,或使用 pnpm add / yarn add / bun add。

@fluid-internal/mocha-test-setup 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/fluid-internal__mocha-test-setup 是否存在。

@fluid-internal/mocha-test-setup 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@fluid-internal/mocha-test-setup 可以商用吗?

@fluid-internal/mocha-test-setup 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fluid-internal/mocha-test-setup 的下载量有多少?

根据 npm 官方下载统计,@fluid-internal/mocha-test-setup 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,716 次,日均约 91 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fluid-internal/mocha-test-setup 还在维护吗?

最新版本 3.12.0 发布于 2026/11/11(4 天前);至今共发布 198 个版本,其中过去 12 个月发布了 48 个;首次发布于 2024/03/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。