跳到主要内容
知仓学习社ZHICANG

electron-mock-factory

Generate mocks for Electron APIs (ipcMain, ipcRenderer, dialog, etc.) for unit testing

不碰外部(只输出文字)无严重或高危命中a5c-ai/babysitter

它会碰到什么

扫了多少2 个文本文件,3 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

electron-mock-factory

Generate mocks for Electron APIs to enable unit testing of main and renderer process code without running Electron.

Capabilities

  • Mock ipcMain/ipcRenderer
  • Mock dialog module
  • Mock BrowserWindow
  • Mock shell, clipboard, app
  • Generate Jest/Vitest mocks
  • Create test utilities

Input Schema

{
  "type": "object",
  "properties": {
    "projectPath": { "type": "string" },
    "testFramework": { "enum": ["jest", "vitest", "mocha"] },
    "modulesToMock": { "type": "array" }
  },
  "required": ["projectPath"]
}

Generated Mocks

// __mocks__/electron.js
module.exports = {
  app: {
    getPath: jest.fn(name => `/mock/${name}`),
    getVersion: jest.fn(() => '1.0.0'),
    quit: jest.fn(),
    on: jest.fn()
  },
  ipcMain: {
    on: jest.fn(),
    handle: jest.fn(),
    removeHandler: jest.fn()
  },
  ipcRenderer: {
    on: jest.fn(),
    send: jest.fn(),
    invoke: jest.fn()
  },
  dialog: {
    showOpenDialog: jest.fn(() => Promise.resolve({ filePaths: [] })),
    showSaveDialog: jest.fn(() => Promise.resolve({ filePath: undefined })),
    showMessageBox: jest.fn(() => Promise.resolve({ response: 0 }))
  },
  BrowserWindow: jest.fn().mockImplementation(() => ({
    loadURL: jest.fn(),
    on: jest.fn(),
    webContents: { send: jest.fn(), on: jest.fn() }
  }))
};

Usage

jest.mock('electron');
const { ipcRenderer } = require('electron');

test('sends message', () => {
  myModule.sendMessage('hello');
  expect(ipcRenderer.send).toHaveBeenCalledWith('channel', 'hello');
});

Related Skills

  • playwright-electron-config
  • desktop-unit-testing process

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,796
本站分层T1
该仓技能数2115
原文件路径library/specializations/desktop-development/skills/electron-mock-factory/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 2115 个技能