mockInitialState()
function mockInitialState(results: Fixture[]): State;
mockInitialState() 让你可以轻松地用 fixtures 预填充缓存。它被 MockPlugin 用来处理 fixtures 选项。不过,在测试需要处理 dispatches(因而会发起 fetch)的更完整流程时,也可以把它传入普通的 provider。
参数
results
export type Fixture = SuccessFixture | ErrorFixture;
这个 prop 指定要从中获取数据的 fixtures。每一项代表一次由
Endpoint 和参数定义的 fetch。Result 包含该 fetch 预期的 JSON 响应。
它可以用作 DataClientPlugin 的 initialState 选项
示例
fixtures.ts
import ArticleResource from 'resources/ArticleResource';
export const results = [
{
endpoint: ArticleResource.getList,
args: [{ maxResults: 10 }],
response: [
{
id: 5,
content: 'have a merry christmas',
author: 2,
contributors: [],
},
{
id: 532,
content: 'never again',
author: 23,
contributors: [5],
},
],
},
];
import { createApp } from 'vue';
import { DataClientPlugin } from '@data-client/vue';
import { mockInitialState } from '@data-client/vue/test';
import MyComponentToTest from 'components/MyComponentToTest.vue';
import { results } from './fixtures';
const app = createApp(MyComponentToTest);
app.use(DataClientPlugin, { initialState: mockInitialState(results) });
app.mount('#app');