Всем привет.
Есть у меня компонента:
import React from "react";
import PropTypes from "prop-types";
/**Utils */
import { formatTime } from "../../../utils";
const User = ({ userData, setUserForChat }) => {
const { user_id, message_created_at, message, unread_amount } = userData;
const hasUnreadMessages = unread_amount > 0;
const messageTime = formatTime(message_created_at);
return (
<div
className="user-data-container"
onClick={() => setUserForChat(userData)}
>
<div className="user-cell-container">
<div className="user-id-container">User # {user_id}</div>
<div className="message-time-container">{messageTime}</div>
</div>
<div className="user-cell-container">
<div className="last-message-container">{message || "No messages"}</div>
{hasUnreadMessages && (
<div className="unread-message-container">{unread_amount}</div>
)}
</div>
</div>
);
};
User.propTypes = {
userData: PropTypes.object.isRequired,
setUserForChat: PropTypes.func.isRequired,
};
User.defaultProps = {
userData: {},
setUserForChat: () => console.log("set user"),
};
export default User;
Я хочу ее протестировать:
import React from "react";
import User from "../../../../components/chat/UserList/User";
describe("User Component -------> ", () => {
let wrapper;
beforeEach(() => {
wrapper = shallow(<User />);
});
it("Should match to snapshot", () => {
expect(wrapper).toMatchSnapshot();
});
});
Jest
берет и проходится по компоненте и по её импорту, потом по импорту импорта и т.д
(будет видно на скрине, все файлы отмечены голубым цветом)
1. Оно сильно продолжает время теста
2. Происходят непонятные crashes
Например
(Тут оно ссылается на
createStore
)
Кодimport { createStore, applyMiddleware } from "redux";
import multi from "redux-multi";
import thunk from "redux-thunk";
import { persistStore } from "redux-persist";
import { composeWithDevTools } from "redux-devtools-extension";
//reducer
import rootReducer from "../reducers";
export function configureStore() {
let store = createStore(
rootReducer,
composeWithDevTools(applyMiddleware(multi, thunk)),
);
let persistor = persistStore(store);
return { persistor, store };
}
Вопрос: Как можно избегать этого и импортить только компоненту и её содержимое
P.S Я пытался сделать это через
testPathIgnorePatterns
, но оно так же фигачит по всем файлах
jest.config.json"use strict";
module.exports = {
setupFiles: ["raf/polyfill", "<rootDir>/dev/js/setupTests.js"],
snapshotSerializers: ["enzyme-to-json/serializer"],
transformIgnorePatterns: ["node_modules/(?!(redux-persist)/)"],
moduleNameMapper: {
"^.+\\.(css|scss|sass)$": "identity-obj-proxy",
},
testEnvironment: "jsdom",
testPathIgnorePatterns: ["/dev/js/config", "/dev/js/utils", "node_modules"],
};