@atomic-testing/component-driver-mui-v5

中文文档
0.81.0发布于 2026/01/01MITTypeScriptESM + CJS近 30 天下载 3320

原子测试组件驱动程序, 帮助驱动材料 UI v5 组件

中文使用文档
文档目录4 节
  1. 问题
  2. 解决办法
  3. 安装
  4. 示例

@ 原子测试/ 组件- 司机- mui- v5

构成部分驱动器 材料界面 v5组件. 组件驱动程序将简单的API用于单位测试或端-to-end测试,以便与MUI组件相互作用——如读取状态和设定值——因此测试工程师可以专注于测试流而无需跟踪内部MUI组件是如何工作的.

问题

材料UI在其组件后隐藏了复杂的标记. 没有专用的驱动程序 您的测试往往需要依赖 执行细节, 使它们随着您的应用增长而变得脆弱.

解决办法

本套件中的驱动程序会显示MUI部件的高级交互。 结合反应适配器,它们让你在DOM和端点测试中重新使用场景定义,重点是: 可续用性, (中文(简体) ), 可替换性 财务报告和审定财务报表 适应性。 。 。 .

安装

npm install @atomic-testing/core @atomic-testing/react-19 \
  @atomic-testing/component-driver-html @atomic-testing/component-driver-mui-v5 --save-dev

参见 MUI 驱动指南 用于实例.

示例

  1. 使用 MUI 创建小组件并指定 data-testid 与您想要与元素交互的值 :

    import { useState } from 'react';
    
    import Button from '@mui/material/Button';
    
    export function Counter() {
      const [count, setCount] = useState(0);
      return (
        <div>
          <span data-testid='count'>{count}</span>
          <Button data-testid='increment' onClick={() => setCount(c => c + 1)}>
            Increment
          </Button>
        </div>
      );
    }
    
  2. 定义 a ScenePart 使用 MUI 驱动程序描述计数显示和按钮 :

    import { HTMLSpanDriver } from '@atomic-testing/component-driver-html';
    import { ButtonDriver } from '@atomic-testing/component-driver-mui-v5';
    import { byDataTestId, ScenePart } from '@atomic-testing/core';
    
    export const counterScenePart = {
      count: { locator: byDataTestId('count'), driver: HTMLSpanDriver },
      increment: { locator: byDataTestId('increment'), driver: ButtonDriver },
    } satisfies ScenePart;
    
  3. 使用 createTestEngine 使该组成部分成为组成部分并与它相互作用:

    import { createTestEngine } from '@atomic-testing/react-19';
    
    import { Counter } from './Counter';
    import { counterScenePart } from './counterScenePart';
    
    test('increments when the button is clicked', async () => {
      const engine = createTestEngine(<Counter />, counterScenePart);
    
      expect(await engine.parts.count.getText()).toBe('0');
      await engine.parts.increment.click();
      expect(await engine.parts.count.getText()).toBe('1');
    
      await engine.cleanUp();
    });
    

更深入的信息,访问 https://原子测试.dev。 。 。 .

版本与发布记录

@atomic-testing/component-driver-mui-v5 共发布 80 个版本,首次发布于 2023/03/11;过去 12 个月发布了 3 个版本。

版本发布日期距今
0.81.0latest2026/01/0110 个月前
0.80.02025/12/3010 个月前
0.79.02025/12/3010 个月前
0.78.02025/06/301.4 年前
0.77.02025/06/291.4 年前
0.76.02025/06/231.4 年前

关于 @atomic-testing/component-driver-mui-v5 的常见问题

@atomic-testing/component-driver-mui-v5 是什么?

原子测试组件驱动程序, 帮助驱动材料 UI v5 组件

如何安装 @atomic-testing/component-driver-mui-v5?

在项目目录运行 npm install @atomic-testing/component-driver-mui-v5,或使用 pnpm add / yarn add / bun add。

@atomic-testing/component-driver-mui-v5 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@atomic-testing/component-driver-mui-v5 支持 ESM 还是 CommonJS?

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

@atomic-testing/component-driver-mui-v5 可以商用吗?

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

@atomic-testing/component-driver-mui-v5 的下载量有多少?

根据 npm 官方下载统计,@atomic-testing/component-driver-mui-v5 在 2026/10/07 – 2026/11/05 这 30 天内被下载 3,320 次,日均约 111 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@atomic-testing/component-driver-mui-v5 还在维护吗?

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