Tauri mockIPC

2024-02-02 17:21 更新
mockIPC(: ): cbfnvoid

使用給定的模擬處理程序攔截所有 IPC 請(qǐng)求。

此函數(shù)可用于測(cè)試 tauri 前端應(yīng)用程序或在靜態(tài)站點(diǎn)生成期間在 Node.js 上下文中運(yùn)行前端時(shí)。

例子

使用 vitest 進(jìn)行測(cè)試設(shè)置:

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);
})

回調(diào)函數(shù)還可以返回一個(gè) 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

參數(shù)

名字類型
cb(cmd: , :Record<,stringargsstringunknown>) => any

Returns: void


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)