我有一个像这样的超级简单的反应应用程序。
索引.tsx
应用程序.tsx
主要.tsx
主页.tsx
索引.tsx
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import { BrowserRouter as Router } from "react-router-dom";
import { ApolloProvider } from "react-apollo";
import client from "./utils/client";
ReactDOM.render(
<Router>
<ApolloProvider client={client}>
<App />
</ApolloProvider>
</Router>,
document.getElementById('root')
);
应用程序.tsx
import React from 'react';
import Main from "./Main";
function App() {
return (
<Main />
);
}
export default App;
主要.tsx
import React from 'react';
import { Switch, Route, Link } from "react-router-dom";
import Home from "./Home";
const Main:React.FC = () => {
return (
<div>
<Switch>
<Route exact path='/' component={Home} />
</Switch>
</div>
);
};
export default Main;
主页.tsx
import React, {useContext} from 'react';
import { Link } from "react-router-dom";
const Home:React.FC = () => {
return (
<div>
<h1>Home</h1>
<Link to='http://google.com'> Google</Link>
</div>
);
};
export default Home;
我有一个带有虚拟测试的 App.test.tsx 来运行它。
import React from 'react';
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
expect(true).toBeTruthy
});
如果我用yarn test
我得到一个错误:
不变失败:你不应该
<Link>
在 a 之外使用<Router>
我拥有的链接被Home.tsc
包围<Router>
在index.tsx
我在这里做点事。
该应用程序运行没有任何错误。
此错误仅在我运行测试时出现
扬帆大鱼
相关分类