您好,登錄后才能下訂單哦!
Jest 是一個流行的 JavaScript 測試框架,可以與 React 項目中的 Context API 一起使用
npm install --save react react-dom
npm install --save-dev jest babel-jest @babel/core @babel/preset-env @babel/preset-react react-test-renderer
.babelrc
的文件,并添加以下內容:{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
src
目錄下創建一個名為 context.js
的文件,用于定義 Context:import React from 'react';
const MyContext = React.createContext();
export default MyContext;
MyProvider.js
的文件,用于包裝組件并提供 Context 值:import React from 'react';
import MyContext from './context';
const MyProvider = ({ children }) => {
const value = 'Hello, world!';
return <MyContext.Provider value={value}>{children}</MyContext.Provider>;
};
export default MyProvider;
MyComponent.js
的文件,用于使用 Context:import React, { useContext } from 'react';
import MyContext from './context';
const MyComponent = () => {
const value = useContext(MyContext);
return <div>{value}</div>;
};
export default MyComponent;
MyComponent.test.js
的文件,用于編寫 Jest 測試:import React from 'react';
import { render } from '@testing-library/react';
import MyComponent from './MyComponent';
import MyProvider from './MyProvider';
describe('MyComponent', () => {
it('renders the value from MyContext', () => {
const { getByText } = render(
<MyProvider>
<MyComponent />
</MyProvider>
);
expect(getByText('Hello, world!')).toBeInTheDocument();
});
});
現在,你可以運行 npm test
命令來執行測試。這將會測試 MyComponent
是否正確地從 MyContext
接收并顯示值。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。