Tauri mockIPC
mockIPC(: ):cb
fn
void
使用给定的模拟处理程序拦截所有 IPC 请求。
此函数可用于测试 tauri 前端应用程序或在静态站点生成期间在 Node.js 上下文中运行前端时。
例子
使用 vitest 进行测试设置:
import { mockIPC, clearMocks } from "@tauri-apps/api/mocks"
import { invoke } from "@tauri-apps/api/tauri"
afterEach(() => {
clearMocks()
})
test("mocked command", () => {
mockIPC((cmd, args) => {
switch (cmd) {
case "add":
return (args.a as number) + (args.b as number);
default:
break;
}
});
expect(invoke('add', { a: 12, b: 15 })).resolves.toBe(27);
})
回调函数还可以返回一个 Promise:
import { mockIPC, clearMocks } from "@tauri-apps/api/mocks"
import { invoke } from "@tauri-apps/api/tauri"
afterEach(() => {
clearMocks()
})
test("mocked command", () => {
mockIPC((cmd, args) => {
if(cmd === "get_data") {
return fetch("https://example.com/data.json")
.then((response) => response.json())
}
});
expect(invoke('get_data')).resolves.toBe({ foo: 'bar' });
})
Since: 1.0.0
参数
名字 | 类型 |
---|---|
cb | (cmd : , :Record <,string args string unknown >) => any |
Returns: void