mocks
Interfaces
Sección titulada «Interfaces»MockIPCOptions
Sección titulada “MockIPCOptions”Opciones para mockIPC.
Opciones
Sección titulada “Options”shouldMockEvents: Si es verdadero (true), las funciones listen y emit serán simuladas (mocked), permitiéndote probar el manejo de eventos sin un backend real.
Esto consumirá cualquier evento emitido con el prefijo plugin:event.
2.7.0
Propiedades
Sección titulada «Propiedades»| Propiedad | Tipo | Definido en |
|---|---|---|
shouldMockEvents? |
boolean |
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/mocks.ts#L24 |
Funciones
Sección titulada «Funciones»clearMocks()
Sección titulada “clearMocks()”function clearMocks(): voidLimpia las funciones/datos simulados inyectados por las otras funciones de este módulo. Al usar un ejecutor de pruebas (test runner) que no proporcione un objeto window nuevo para cada prueba, llamar a esta función restablecerá las propiedades específicas de tauri.
Ejemplo
Sección titulada «Ejemplo»import { mockWindows, clearMocks } from "@tauri-apps/api/mocks"
afterEach(() => { clearMocks()})
test("mocked windows", () => { mockWindows("main", "second", "third");
expect(window.__TAURI_INTERNALS__).toHaveProperty("metadata")})
test("no mocked windows", () => { expect(window.__TAURI_INTERNALS__).not.toHaveProperty("metadata")})Devuelve
Sección titulada «Devuelve»void
1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/mocks.ts#L316
mockConvertFileSrc()
Sección titulada “mockConvertFileSrc()”function mockConvertFileSrc(osName): voidSimula la función convertFileSrc
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Descripción |
|---|---|---|
osName |
string |
El sistema operativo a simular, puede ser linux, macos o windows |
Devuelve
Sección titulada «Devuelve»void
Ejemplo
Sección titulada «Ejemplo»import { mockConvertFileSrc } from "@tauri-apps/api/mocks";import { convertFileSrc } from "@tauri-apps/api/core";
mockConvertFileSrc("windows")
const url = convertFileSrc("C:\\Users\\user\\file.txt")1.6.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/mocks.ts#L277
mockIPC()
Sección titulada “mockIPC()”function mockIPC(cb, options?): voidIntercepta todas las peticiones IPC con el manejador simulado (mock handler) especificado.
Esta función se puede usar al probar aplicaciones frontend de tauri o al ejecutar el frontend en un contexto de Node.js durante la generación de sitios estáticos.
Ejemplos
Sección titulada “Ejemplos”Configuración de pruebas usando Vitest:
import { mockIPC, clearMocks } from "@tauri-apps/api/mocks"import { invoke } from "@tauri-apps/api/core"
afterEach(() => { clearMocks()})
test("mocked command", () => { mockIPC((cmd, payload) => { switch (cmd) { case "add": return (payload.a as number) + (payload.b as number); default: break; } });
expect(invoke('add', { a: 12, b: 15 })).resolves.toBe(27);})La función de callback también puede devolver una Promise:
import { mockIPC, clearMocks } from "@tauri-apps/api/mocks"import { invoke } from "@tauri-apps/api/core"
afterEach(() => { clearMocks()})
test("mocked command", () => { mockIPC((cmd, payload) => { if(cmd === "get_data") { return fetch("https://example.com/data.json") .then((response) => response.json()) } });
expect(invoke('get_data')).resolves.toBe({ foo: 'bar' });})listen también se puede simular con llamadas directas a la función emit. Esta funcionalidad es opcional a través de la opción shouldMockEvents:
import { mockIPC, clearMocks } from "@tauri-apps/api/mocks"import { emit, listen } from "@tauri-apps/api/event"
afterEach(() => { clearMocks()})
test("mocked event", () => { mockIPC(() => {}, { shouldMockEvents: true }); // enable event mocking
const eventHandler = vi.fn(); listen('test-event', eventHandler); // typically in component setup or similar
emit('test-event', { foo: 'bar' }); expect(eventHandler).toHaveBeenCalledWith({ event: 'test-event', payload: { foo: 'bar' } });})emitTo actualmente no es compatible con esta implementación simulada.
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
cb |
(cmd, payload?) => unknown |
options? |
MockIPCOptions |
Devuelve
Sección titulada «Devuelve»void
1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/mocks.ts#L104
mockWindows()
Sección titulada “mockWindows()”function mockWindows(current, ..._additionalWindows): voidSimula una o muchas etiquetas de ventanas.
En un contexto que no sea de tauri, es necesario llamar a esta función antes de usar el módulo @tauri-apps/api/window.
Esta función solo simula la presencia de ventanas,
las propiedades de la ventana (por ejemplo, ancho y alto) se pueden simular como llamadas IPC regulares usando la función mockIPC.
Ejemplos
Sección titulada “Ejemplos”import { mockWindows } from "@tauri-apps/api/mocks";import { getCurrentWindow } from "@tauri-apps/api/window";
mockWindows("main", "second", "third");
const win = getCurrentWindow();
win.label // "main"import { mockWindows } from "@tauri-apps/api/mocks";
mockWindows("main", "second", "third");
mockIPC((cmd, args) => { if (cmd === "plugin:event|emit") { console.log('emit event', args?.event, args?.payload); }});
const { emit } = await import("@tauri-apps/api/event");await emit('loaded'); // this will cause the mocked IPC handler to log to the console.Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Descripción |
|---|---|---|
current |
string |
Etiqueta de la ventana en la que se está ejecutando este contexto de JavaScript. |
…_additionalWindows |
string[] |
- |
Devuelve
Sección titulada «Devuelve»void
1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/mocks.ts#L248
© 2026 Colaboradores de Tauri. CC-BY / MIT