尝试将 vuex getter 与打字稿一起使用时获得“预期的 4 个参数,但得到 1 个”
Getting `Expected 4 arguments, but got 1` when trying to use a vuex getter with typescript
我正在尝试对 getter 进行单元测试,但在尝试使用所述 getter 时出现错误 Expected 4 arguments, but got 1.
。我使用 quasar 构建了应用程序,我正在使用 typescript。
HttpMocks.mockToken
只是一个通用的 JWT 字符串
const getters: GetterTree<AuthenticationStateInterface, StateInterface> = {
token(state: AuthenticationStateInterface) {
return state.token;
}
};
export default getters;
以下是我如何尝试测试 getter
describe('Getters', () => {
it('Token', () => {
const state = {
token: HttpMocks.mockToken
};
const result = getters.token(state) // Expected 4 arguments, but got 1.
});
});
州
export interface AuthenticationStateInterface {
token: string;
expires: string;
error?: string;
}
const state: AuthenticationStateInterface = {
token: '',
expires: '',
error: ''
};
export default state;
问题是我没有遵循 getter 的签名。
export type Getter<S, R> = (state: S, getters: any, rootState: R, rootGetters: any) => any;
我只需要填写空白,所以在测试中调用 getter 时我有这个
const result = getters.token(authenticationState, {}, rootState, {});
rootState
只是整个状态的模拟版本,authenticationState
是本地模块状态的模拟
我正在尝试对 getter 进行单元测试,但在尝试使用所述 getter 时出现错误 Expected 4 arguments, but got 1.
。我使用 quasar 构建了应用程序,我正在使用 typescript。
HttpMocks.mockToken
只是一个通用的 JWT 字符串
const getters: GetterTree<AuthenticationStateInterface, StateInterface> = {
token(state: AuthenticationStateInterface) {
return state.token;
}
};
export default getters;
以下是我如何尝试测试 getter
describe('Getters', () => {
it('Token', () => {
const state = {
token: HttpMocks.mockToken
};
const result = getters.token(state) // Expected 4 arguments, but got 1.
});
});
州
export interface AuthenticationStateInterface {
token: string;
expires: string;
error?: string;
}
const state: AuthenticationStateInterface = {
token: '',
expires: '',
error: ''
};
export default state;
问题是我没有遵循 getter 的签名。
export type Getter<S, R> = (state: S, getters: any, rootState: R, rootGetters: any) => any;
我只需要填写空白,所以在测试中调用 getter 时我有这个
const result = getters.token(authenticationState, {}, rootState, {});
rootState
只是整个状态的模拟版本,authenticationState
是本地模块状态的模拟