【发布时间】:2022-01-10 01:13:21
【问题描述】:
在我的应用中,我有类似于signOutUser 的用户。
import { getAuth } from "firebase/auth";
export function signOutUser(): Promise<void> {
return getAuth(firebaseApp).signOut();
}
我想确保调用 firebase 的 signOut 函数。
但我不知道如何模拟和监视身份验证对象上的注销功能。
我做了一次尝试......
我正在从firebase/auth 模拟这些函数...
const mockSignOut = jest.fn();
jest.mock("firebase/auth", () => {
return {
__esModule: true,
getAuth: jest.fn().mockImplementation(() => {
return {
signOut: mockSignOut,
};
}),
};
});
我得到ReferenceError: Cannot access 'mockSignOut' before initialization。
如果我将其更改为 var 我会得到 TypeError: signOut is not a function
我认为这有点接近我想要的文档?但这并没有解释你将如何模拟我至少理解的模拟值https://jestjs.io/docs/es6-class-mocks#manual-mock
如何从getAuth() 返回并被模拟的对象中窥探这个signOut 函数?
【问题讨论】:
标签: javascript typescript firebase unit-testing jestjs