【发布时间】:2020-05-17 11:54:44
【问题描述】:
我正在使用 React(react-create-app 和 TypeScript)。使用 Auth0 进行登录。
我想用 Jest 编写测试,我发现这个资源基本上是唯一关于模拟 Auth0 对象的东西。
所以我的代码如下所示:
import React from "react";
import ReactDOM from "react-dom";
import TopBar from "./index";
import {
useAuth0
} from "react-auth0-spa";
const user = {
email: "johndoe@me.com",
email_verified: true,
sub: "google-oauth2|12345678901234"
};
// intercept the useAuth0 function and mock it
jest.mock("react-auth0-spa");
describe("First test", () => {
beforeEach(() => {
// Mock the Auth0 hook and make it return a logged in state
useAuth0.mockReturnValue({
isAuthenticated: true,
user,
logout: jest.fn(),
loginWithRedirect: jest.fn()
});
});
it("renders without crashing", () => {
const div = document.createElement("div");
ReactDOM.render( < TopBar / > , div);
});
});
但我最终遇到了这个错误:
Property 'mockReturnValue' does not exist on type '() => IAuth0Context | undefined'.ts(2339)
我有点迷路了,任何帮助将不胜感激!
【问题讨论】:
标签: javascript reactjs typescript jestjs auth0