{"id":86398,"date":"2024-12-02T01:51:58","date_gmt":"2024-12-01T22:21:58","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/"},"modified":"2024-12-02T01:51:58","modified_gmt":"2024-12-01T22:21:58","slug":"testes-unitarios-com-jest-58mn","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/","title":{"rendered":"\u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0628\u0627 Jest &#8211; \u0627\u0646\u062c\u0645\u0646 DEV"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n              \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645 \u0645\u0627\u0698\u0648\u0644 15: \u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0628\u0627 \u062c\u0633\u062a \u062f\u0631 \u062c\u0632\u0626\u06cc\u0627\u062a \u062a\u0645\u0631\u06a9\u0632 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0622\u0645\u0648\u0632\u0634 \u0646\u062d\u0648\u0647 \u0627\u0646\u062c\u0627\u0645 \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u0645\u062d\u0628\u0648\u0628 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc React. \u0645\u0627 \u0645\u0642\u062f\u0645\u0647 \u062a\u0633\u062a \u0648\u0627\u062d\u062f\u060c \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Jest \u0648 \u0646\u0648\u0634\u062a\u0646 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u062f\u0631 React \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f.<\/p>\n<p>  1. \u0645\u0642\u062f\u0645\u0647 \u0627\u06cc \u0628\u0631 \u062a\u0633\u062a \u0648\u0627\u062d\u062f<\/p>\n<p>  \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0686\u06cc\u0633\u062a\u061f<\/p>\n<p>\u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0631\u0648\u0634\u06cc \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0627\u062c\u0632\u0627 \u06cc\u0627 \u062a\u0648\u0627\u0628\u0639 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062c\u0632\u0627 \u0627\u0633\u062a \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f \u06a9\u0647 \u0647\u0631 \u0642\u0633\u0645\u062a \u0627\u0632 \u06a9\u062f \u0634\u0645\u0627 \u0645\u0637\u0627\u0628\u0642 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0622\u0646\u0647\u0627 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f \u062a\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u0646\u062f \u06a9\u0647 \u06cc\u06a9 &#8220;\u0648\u0627\u062d\u062f&#8221; \u06a9\u062f \u062e\u0627\u0635 (\u06cc\u06a9 \u062a\u0627\u0628\u0639\u060c \u0631\u0648\u0634 \u06cc\u0627 \u062c\u0632\u0621) \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0645\u0634\u062e\u0635\u0627\u062a \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0631\u0641\u062a\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc React\u060c \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0645\u0624\u0644\u0641\u0647\u200c\u0647\u0627\u060c \u062a\u0648\u0627\u0628\u0639 \u0648 \u0642\u0644\u0627\u0628\u200c\u0647\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0648\u0636\u0639\u06cc\u062a\u060c \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0648 \u0631\u0646\u062f\u0631\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/p>\n<p>  \u0645\u0632\u0627\u06cc\u0627\u06cc \u062a\u0633\u062a \u0648\u0627\u062d\u062f<\/p>\n<p>\u0633\u0647\u0648\u0644\u062a \u0646\u06af\u0647\u062f\u0627\u0631\u06cc: \u062a\u0633\u062a \u0647\u0627 \u0628\u0647 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0633\u0631\u06cc\u0639 \u0645\u0634\u06a9\u0644\u0627\u062a \u062f\u0631 \u06a9\u062f \u0648 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0631\u06af\u0631\u0633\u06cc\u0648\u0646 (\u062e\u0637\u0627\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u067e\u0633 \u0627\u0632 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0638\u0627\u0647\u0631 \u0645\u06cc \u0634\u0648\u0646\u062f) \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0647 \u0646\u0641\u0633 \u0628\u06cc\u0634\u062a\u0631: \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0647\u0631 \u0648\u0627\u062d\u062f \u06a9\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062c\u0632\u0627 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u062f \u0631\u0627 \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0645\u0633\u062a\u0646\u062f\u0627\u062a: \u062a\u0633\u062a\u200c\u0647\u0627 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0628\u0641\u0647\u0645\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f \u06a9\u062f \u06a9\u0627\u0631 \u06a9\u0646\u062f \u0648 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0634\u06a9\u0644\u06cc \u0627\u0632 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0639\u0645\u0644 \u06a9\u0646\u062f.<\/p>\n<p>  2. \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Jest<\/p>\n<p>  Instalando \u062f\u0631 \u0645\u0648\u0631\u062f \u0628\u0644\u0647<\/p>\n<p>Jest \u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 API \u0633\u0627\u062f\u0647 \u0648 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f. \u0627\u06af\u0631 \u0627\u0632 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 React \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0627\u06af\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a Jest \u0642\u0628\u0644\u0627\u064b \u0646\u0635\u0628 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f \u0627\u06cc\u062c\u0627\u062f React App.<\/p>\n<p>\u0627\u06af\u0631 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0646\u0635\u0628 \u062f\u0633\u062a\u06cc Jest \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>\u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 o \u0628\u0644\u0647: \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Jest \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   npm install &#8211;save-dev jest<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>Babel \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f (\u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645): \u0627\u06af\u0631 \u0627\u0632 Babel \u0628\u0631\u0627\u06cc \u062c\u0627\u0628\u062c\u0627\u06cc\u06cc \u06a9\u062f\u0647\u0627\u06cc \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u062f\u0631\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0628\u0633\u062a\u0647 \u0627\u0632 \u067e\u06cc\u0634 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc Jest \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   npm install &#8211;save-dev @babel\/preset-env @babel\/preset-react<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0633\u067e\u0633 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Babel \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f (babel.config.js) \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0628\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631:<\/p>\n<p>   module.exports = {<br \/>\n     presets: [&#8216;@babel\/preset-env&#8217;, &#8216;@babel\/preset-react&#8217;],<br \/>\n   };<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06cc\u06a9 \u062a\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f: \u0646\u0647 package.json\u060c \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u0628\u0627 Jest \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0633\u062a:<\/p>\n<p>   &#8220;scripts&#8221;: {<br \/>\n     &#8220;test&#8221;: &#8220;jest&#8221;<br \/>\n   }<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u0628\u0627:<\/p>\n<p>   npm test<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647<\/p>\n<p>\u0627\u06af\u0631 Create React App \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c Jest \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0648 \u0622\u0645\u0627\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a. \u0627\u06af\u0631 \u0646\u0647\u060c \u0645\u0631\u0627\u062d\u0644 \u0630\u06a9\u0631 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0646\u0635\u0628 Jest \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  3. \u0646\u0648\u0634\u062a\u0646 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0628\u0627 Jest \u062f\u0631 React<\/p>\n<p>  \u0633\u0627\u062e\u062a\u0627\u0631 \u06cc\u06a9 \u062a\u0633\u062a \u0628\u0627 \u062c\u0633\u062a<\/p>\n<p>\u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u062c\u0633\u062a \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631 \u0633\u0627\u062f\u0647\u200c\u0627\u06cc \u067e\u06cc\u0631\u0648\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u06a9\u0647 \u0627\u0632 \u0633\u0647 \u0628\u062e\u0634 \u0627\u0635\u0644\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p>describe: \u062a\u0633\u062a \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06af\u0631\u0648\u0647 \u0647\u0627.<\/p>\n<p>it  \u06cc\u0627 test: \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u062e\u0627\u0635 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>expect: \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u062f \u0628\u0627\u06cc\u062f \u0686\u0647 \u0686\u06cc\u0632\u06cc \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f \u06cc\u0627 \u0686\u06af\u0648\u0646\u0647 \u0628\u0627\u06cc\u062f \u0631\u0641\u062a\u0627\u0631 \u06a9\u0646\u062f\u060c \u0628\u06cc\u0627\u0646\u06cc\u0647 \u0627\u06cc \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0646\u0645\u0648\u0646\u0647 \u0622\u0632\u0645\u0648\u0646 \u067e\u0627\u06cc\u0647:<\/p>\n<p>describe(&#8216;Testando a fun\u00e7\u00e3o soma&#8217;, () =&gt; {<br \/>\n  it(&#8216;Deve somar dois n\u00fameros corretamente&#8217;, () =&gt; {<br \/>\n    const resultado = soma(1, 2);<br \/>\n    expect(resultado).toBe(3); \/\/ A expectativa \u00e9 que o resultado seja 3<br \/>\n  });<br \/>\n});<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644:<\/p>\n<p>describe  \u0628\u0631\u0627\u06cc \u06af\u0631\u0648\u0647 \u0628\u0646\u062f\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u062e\u0627\u0635 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f (soma).<\/p>\n<p>it  \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0631\u0627 \u062a\u0648\u0635\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0622\u06cc\u0627 \u0645\u062c\u0645\u0648\u0639 1 \u0648 2 \u0628\u0647 3 \u0645\u06cc \u0631\u0633\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>expect(resultado).toBe(3)  \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0627\u0631\u0632\u0634 resultado \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 3 \u0627\u0633\u062a.<\/p>\n<p>  \u062a\u0633\u062a \u062a\u0648\u0627\u0628\u0639 \u0633\u0627\u062f\u0647<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0633\u0627\u062f\u0647 \u062f\u0627\u0631\u06cc\u0645 soma \u06a9\u0647 \u062f\u0648 \u0639\u062f\u062f \u0631\u0627 \u062c\u0645\u0639 \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<p>function soma(a, b) {<br \/>\n  return a + b;<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0628\u0627 Jest\u060c \u06cc\u06a9 \u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0633\u0627\u062f\u0647 \u0645\u0627\u0646\u0646\u062f \u0632\u06cc\u0631 \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u062f:<\/p>\n<p>\u0641\u0627\u06cc\u0644 \u062a\u0633\u062a soma.test.js:<\/p>\n<p>const soma = require(&#8216;.\/soma&#8217;);<\/p>\n<p>describe(&#8216;Fun\u00e7\u00e3o soma&#8217;, () =&gt; {<br \/>\n  it(&#8216;Deve retornar a soma correta de dois n\u00fameros&#8217;, () =&gt; {<br \/>\n    expect(soma(1, 2)).toBe(3);<br \/>\n    expect(soma(-1, 1)).toBe(0);<br \/>\n    expect(soma(-1, -1)).toBe(-2);<br \/>\n  });<br \/>\n});<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>describe: \u062a\u0633\u062a \u0647\u0627\u06cc \u062a\u0627\u0628\u0639 \u0631\u0627 \u06af\u0631\u0648\u0647 \u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u062f soma.<\/p>\n<p>it: \u0622\u0632\u0645\u0627\u06cc\u0634 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u062a\u0627\u0628\u0639 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>expect: \u0628\u06cc\u0627\u0646\u06cc\u0647 toBe \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u0642\u062f\u0627\u0631 \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062a\u0627\u0628\u0639 \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>  \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627\u06cc React<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u062c\u0632\u0627\u06cc React \u062a\u0633\u062a \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a \u0648\u0627\u06a9\u0646\u0634 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u062c\u0633\u062a \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a React \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0639\u0627\u0645\u0644\u0627\u062a \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0631\u0646\u062f\u0631 \u0648 \u0631\u0641\u062a\u0627\u0631 \u0627\u062c\u0632\u0627 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u062b\u0627\u0644\u06cc \u0627\u0632 \u0646\u062d\u0648\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06cc\u06a9 \u062c\u0632\u0621 \u0633\u0627\u062f\u0647 React \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p>\u062c\u0632\u0621 Button.js:<\/p>\n<p>import React, { useState } from &#8216;react&#8217;;<\/p>\n<p>function Button() {<br \/>\n  const [clicked, setClicked] = useState(false);<\/p>\n<p>  const handleClick = () =&gt; {<br \/>\n    setClicked(!clicked);<br \/>\n  };<\/p>\n<p>  return (<br \/>\n    &lt;button onClick={handleClick}&gt;<br \/>\n      {clicked ? &#8216;Clicked!&#8217; : &#8216;Click me&#8217;}<br \/>\n    &lt;\/button&gt;<br \/>\n  );<br \/>\n}<\/p>\n<p>export default Button;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0628\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a Jest \u0648 React:<\/p>\n<p>import { render, fireEvent } from &#8216;@testing-library\/react&#8217;;<br \/>\nimport Button from &#8216;.\/Button&#8217;;<\/p>\n<p>describe(&#8216;Button component&#8217;, () =&gt; {<br \/>\n  it(&#8216;Deve alternar o texto ao ser clicado&#8217;, () =&gt; {<br \/>\n    const { getByText } = render(&lt;Button \/&gt;);<\/p>\n<p>    \/\/ Verifica se o texto inicial \u00e9 &#8220;Click me&#8221;<br \/>\n    expect(getByText(&#8216;Click me&#8217;)).toBeInTheDocument();<\/p>\n<p>    \/\/ Simula o clique no bot\u00e3o<br \/>\n    fireEvent.click(getByText(&#8216;Click me&#8217;));<\/p>\n<p>    \/\/ Verifica se o texto foi alterado para &#8220;Clicked!&#8221;<br \/>\n    expect(getByText(&#8216;Clicked!&#8217;)).toBeInTheDocument();<br \/>\n  });<br \/>\n});<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062a\u0648\u0636\u06cc\u062d \u062a\u0633\u062a:<\/p>\n<p>render(): \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0631\u0627 \u0631\u0646\u062f\u0631 \u0645\u06cc \u06a9\u0646\u062f Button.<\/p>\n<p>getByText: \u0639\u0646\u0635\u0631\u06cc \u0631\u0627 \u0628\u0627 \u0645\u062a\u0646 &#8220;Click me&#8221; \u067e\u06cc\u062f\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>fireEvent.click: \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>expect(getByText(&#8216;Clicked!&#8217;)).toBeInTheDocument(): \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u067e\u0633 \u0627\u0632 \u06a9\u0644\u06cc\u06a9\u060c \u0645\u062a\u0646 \u0628\u0647 &#8220;\u06a9\u0644\u06cc\u06a9 \u0634\u062f\u0647!&#8221; \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>  Tipos de Expectativas (\u0645\u0633\u0627\u0628\u0642\u0647)<\/p>\n<p>Jest \u0686\u0646\u062f\u06cc\u0646 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc \u062f\u0647\u062f \u0645\u0633\u0627\u0628\u0642\u0627\u062a (\u0631\u0648\u0634 \u0647\u0627\u06cc \u0645\u0642\u0627\u06cc\u0633\u0647) \u062a\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0648\u0636\u0639\u06cc\u062a \u06a9\u062f \u062e\u0648\u062f \u0627\u0638\u0647\u0627\u0631 \u0646\u0638\u0631 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062a\u0639\u062f\u0627\u062f\u06cc \u0627\u0632 \u067e\u0631\u06a9\u0627\u0631\u0628\u0631\u062f\u062a\u0631\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p>toBe: \u0628\u0631\u0627\u0628\u0631\u06cc (\u0628\u0631\u0627\u06cc \u0645\u0642\u0627\u062f\u06cc\u0631 \u0627\u0648\u0644\u06cc\u0647) \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>toEqual: \u0628\u0631\u0627\u0628\u0631\u06cc \u0639\u0645\u06cc\u0642 (\u0628\u0631\u0627\u06cc \u0627\u0634\u06cc\u0627 \u0648 \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627) \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>toBeTruthy  \/ toBeFalsy: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u0642\u062f\u0627\u0631 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06cc\u0627 \u062e\u06cc\u0631 true \u06cc\u0627 false.<\/p>\n<p>toBeInTheDocument: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0639\u0646\u0635\u0631\u06cc \u062f\u0631 DOM \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f (\u0645\u0641\u06cc\u062f \u0628\u0631\u0627\u06cc React Testing Library).<\/p>\n<p>toHaveBeenCalled: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>  4. \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a \u0647\u0627\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>npm test<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>Jest \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0627 \u067e\u0633\u0648\u0646\u062f \u062c\u0633\u062a\u062c\u0648 \u0645\u06cc \u06a9\u0646\u062f .test.js \u06cc\u0627 .spec.js \u0648 \u062a\u0633\u062a \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0622\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n<p>  \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u062a\u0639\u0627\u0645\u0644\u06cc<\/p>\n<p>Jest \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u062a\u0639\u0627\u0645\u0644\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0633\u062a \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647\u060c \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>npm test &#8212; &#8211;watch<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627\u0639\u062b \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 Jest \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 \u06a9\u062f \u06af\u0648\u0634 \u062f\u0647\u062f \u0648 \u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f.<\/p>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u060c \u0634\u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647:<\/p>\n<p>\u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 o \u0628\u0644\u0647 \u0648 \u0645\u062d\u06cc\u0637 \u062a\u0633\u062a \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f.<br \/>\n\u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0627\u0628\u0639 \u0648 \u0627\u062c\u0632\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 React.<br \/>\n\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u062f\u0639\u0627\u0647\u0627 \u0627\u0632 Jest \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0631\u0641\u062a\u0627\u0631 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u062f.<br \/>\n\u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u0627\u062c\u0632\u0627\u06cc React \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a \u0648\u0627\u06a9\u0646\u0634.<\/p>\n<p>\u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0628\u062e\u0634 \u0645\u0647\u0645\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f \u06a9\u0647 \u06a9\u062f \u0634\u0645\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0639\u062f\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u062e\u0631\u0627\u0628 \u0646\u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div data-article-id=\"2129864\" id=\"article-body\">\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645 <strong>\u0645\u0627\u0698\u0648\u0644 15: \u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0628\u0627 \u062c\u0633\u062a<\/strong> \u062f\u0631 \u062c\u0632\u0626\u06cc\u0627\u062a \u062a\u0645\u0631\u06a9\u0632 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0622\u0645\u0648\u0632\u0634 \u0646\u062d\u0648\u0647 \u0627\u0646\u062c\u0627\u0645 \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <strong>\u0627\u0633\u062a<\/strong>\u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u0645\u062d\u0628\u0648\u0628 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc React. \u0645\u0627 \u0645\u0642\u062f\u0645\u0647 \u062a\u0633\u062a \u0648\u0627\u062d\u062f\u060c \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Jest \u0648 \u0646\u0648\u0634\u062a\u0646 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u062f\u0631 React \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#1_%D9%85%D9%82%D8%AF%D9%85%D9%87_%D8%A7%DB%8C_%D8%A8%D8%B1_%D8%AA%D8%B3%D8%AA_%D9%88%D8%A7%D8%AD%D8%AF\" >1. \u0645\u0642\u062f\u0645\u0647 \u0627\u06cc \u0628\u0631 \u062a\u0633\u062a \u0648\u0627\u062d\u062f<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7%DB%8C_%D9%88%D8%A7%D8%AD%D8%AF_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\" >\u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0686\u06cc\u0633\u062a\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D9%85%D8%B2%D8%A7%DB%8C%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%88%D8%A7%D8%AD%D8%AF\" >\u0645\u0632\u0627\u06cc\u0627\u06cc \u062a\u0633\u062a \u0648\u0627\u062d\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#2_%D9%86%D8%B5%D8%A8_%D9%88_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_Jest\" >2. \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Jest<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#Instalando_%D8%AF%D8%B1_%D9%85%D9%88%D8%B1%D8%AF_%D8%A8%D9%84%D9%87\" >Instalando \u062f\u0631 \u0645\u0648\u0631\u062f \u0628\u0644\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#3_%D9%86%D9%88%D8%B4%D8%AA%D9%86_%D9%88_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D8%A8%D8%A7_Jest_%D8%AF%D8%B1_React\" >3. \u0646\u0648\u0634\u062a\u0646 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0628\u0627 Jest \u062f\u0631 React<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1_%DB%8C%DA%A9_%D8%AA%D8%B3%D8%AA_%D8%A8%D8%A7_%D8%AC%D8%B3%D8%AA\" >\u0633\u0627\u062e\u062a\u0627\u0631 \u06cc\u06a9 \u062a\u0633\u062a \u0628\u0627 \u062c\u0633\u062a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D8%AA%D8%B3%D8%AA_%D8%AA%D9%88%D8%A7%D8%A8%D8%B9_%D8%B3%D8%A7%D8%AF%D9%87\" >\u062a\u0633\u062a \u062a\u0648\u0627\u0628\u0639 \u0633\u0627\u062f\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D8%AA%D8%B3%D8%AA_%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA_%D9%87%D8%A7%DB%8C_React\" >\u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627\u06cc React<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#Tipos_de_Expectativas_%D9%85%D8%B3%D8%A7%D8%A8%D9%82%D9%87\" >Tipos de Expectativas (\u0645\u0633\u0627\u0628\u0642\u0647)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#4_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7\" >4. \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7_%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84%D8%AA_%D8%AA%D8%B9%D8%A7%D9%85%D9%84%DB%8C\" >\u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u062a\u0639\u0627\u0645\u0644\u06cc<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/testes-unitarios-com-jest-58mn\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\" >\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"1_%D9%85%D9%82%D8%AF%D9%85%D9%87_%D8%A7%DB%8C_%D8%A8%D8%B1_%D8%AA%D8%B3%D8%AA_%D9%88%D8%A7%D8%AD%D8%AF\"><\/span>\n<p>  1. <strong>\u0645\u0642\u062f\u0645\u0647 \u0627\u06cc \u0628\u0631 \u062a\u0633\u062a \u0648\u0627\u062d\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7%DB%8C_%D9%88%D8%A7%D8%AD%D8%AF_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\"><\/span>\n<p>  \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0686\u06cc\u0633\u062a\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0631\u0648\u0634\u06cc \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0627\u062c\u0632\u0627 \u06cc\u0627 \u062a\u0648\u0627\u0628\u0639 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062c\u0632\u0627 \u0627\u0633\u062a \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f \u06a9\u0647 \u0647\u0631 \u0642\u0633\u0645\u062a \u0627\u0632 \u06a9\u062f \u0634\u0645\u0627 \u0645\u0637\u0627\u0628\u0642 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0622\u0646\u0647\u0627 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f \u062a\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u0646\u062f \u06a9\u0647 \u06cc\u06a9 &#8220;\u0648\u0627\u062d\u062f&#8221; \u06a9\u062f \u062e\u0627\u0635 (\u06cc\u06a9 \u062a\u0627\u0628\u0639\u060c \u0631\u0648\u0634 \u06cc\u0627 \u062c\u0632\u0621) \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0645\u0634\u062e\u0635\u0627\u062a \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0631\u0641\u062a\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc React\u060c \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0645\u0624\u0644\u0641\u0647\u200c\u0647\u0627\u060c \u062a\u0648\u0627\u0628\u0639 \u0648 \u0642\u0644\u0627\u0628\u200c\u0647\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0648\u0636\u0639\u06cc\u062a\u060c \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0648 \u0631\u0646\u062f\u0631\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D9%85%D8%B2%D8%A7%DB%8C%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%88%D8%A7%D8%AD%D8%AF\"><\/span>\n<p>  \u0645\u0632\u0627\u06cc\u0627\u06cc \u062a\u0633\u062a \u0648\u0627\u062d\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>\n<strong>\u0633\u0647\u0648\u0644\u062a \u0646\u06af\u0647\u062f\u0627\u0631\u06cc<\/strong>: \u062a\u0633\u062a \u0647\u0627 \u0628\u0647 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0633\u0631\u06cc\u0639 \u0645\u0634\u06a9\u0644\u0627\u062a \u062f\u0631 \u06a9\u062f \u0648 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0631\u06af\u0631\u0633\u06cc\u0648\u0646 (\u062e\u0637\u0627\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u067e\u0633 \u0627\u0632 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0638\u0627\u0647\u0631 \u0645\u06cc \u0634\u0648\u0646\u062f) \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0647 \u0646\u0641\u0633 \u0628\u06cc\u0634\u062a\u0631<\/strong>: \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0647\u0631 \u0648\u0627\u062d\u062f \u06a9\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062c\u0632\u0627 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u062f \u0631\u0627 \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/li>\n<li>\n<strong>\u0645\u0633\u062a\u0646\u062f\u0627\u062a<\/strong>: \u062a\u0633\u062a\u200c\u0647\u0627 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0628\u0641\u0647\u0645\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f \u06a9\u062f \u06a9\u0627\u0631 \u06a9\u0646\u062f \u0648 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0634\u06a9\u0644\u06cc \u0627\u0632 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0639\u0645\u0644 \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"2_%D9%86%D8%B5%D8%A8_%D9%88_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_Jest\"><\/span>\n<p>  2. <strong>\u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Jest<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"Instalando_%D8%AF%D8%B1_%D9%85%D9%88%D8%B1%D8%AF_%D8%A8%D9%84%D9%87\"><\/span>\n<p>  Instalando \u062f\u0631 \u0645\u0648\u0631\u062f \u0628\u0644\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Jest \u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 API \u0633\u0627\u062f\u0647 \u0648 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f. \u0627\u06af\u0631 \u0627\u0632 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 React \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0627\u06af\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a Jest \u0642\u0628\u0644\u0627\u064b \u0646\u0635\u0628 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f <strong>\u0627\u06cc\u062c\u0627\u062f React App<\/strong>.<\/p>\n<p>\u0627\u06af\u0631 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0646\u0635\u0628 \u062f\u0633\u062a\u06cc Jest \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<ol>\n<li>\n<strong>\u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 o \u0628\u0644\u0647<\/strong>: \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Jest \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062a\u0648\u0633\u0639\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   npm <span class=\"nb\">install<\/span> <span class=\"nt\">--save-dev<\/span> jest\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>Babel \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f (\u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645)<\/strong>: \u0627\u06af\u0631 \u0627\u0632 Babel \u0628\u0631\u0627\u06cc \u062c\u0627\u0628\u062c\u0627\u06cc\u06cc \u06a9\u062f\u0647\u0627\u06cc \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u062f\u0631\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0628\u0633\u062a\u0647 \u0627\u0632 \u067e\u06cc\u0634 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc Jest \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   npm <span class=\"nb\">install<\/span> <span class=\"nt\">--save-dev<\/span> @babel\/preset-env @babel\/preset-react\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Babel \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f (<code>babel.config.js<\/code>) \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0628\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code>   <span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n     <span class=\"na\">presets<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">'<\/span><span class=\"s1\">@babel\/preset-env<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@babel\/preset-react<\/span><span class=\"dl\">'<\/span><span class=\"p\">],<\/span>\n   <span class=\"p\">};<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>\u06cc\u06a9 \u062a\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/strong>: \u0646\u0647 <code>package.json<\/code>\u060c \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u0628\u0627 Jest \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0633\u062a:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"w\">   <\/span><span class=\"nl\">\"scripts\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n     <\/span><span class=\"nl\">\"test\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"jest\"<\/span><span class=\"w\">\n   <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u0628\u0627:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   npm <span class=\"nb\">test<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u06af\u0631 Create React App \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c Jest \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0648 \u0622\u0645\u0627\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a. \u0627\u06af\u0631 \u0646\u0647\u060c \u0645\u0631\u0627\u062d\u0644 \u0630\u06a9\u0631 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0646\u0635\u0628 Jest \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3_%D9%86%D9%88%D8%B4%D8%AA%D9%86_%D9%88_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D8%A8%D8%A7_Jest_%D8%AF%D8%B1_React\"><\/span>\n<p>  3. <strong>\u0646\u0648\u0634\u062a\u0646 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0628\u0627 Jest \u062f\u0631 React<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1_%DB%8C%DA%A9_%D8%AA%D8%B3%D8%AA_%D8%A8%D8%A7_%D8%AC%D8%B3%D8%AA\"><\/span>\n<p>  \u0633\u0627\u062e\u062a\u0627\u0631 \u06cc\u06a9 \u062a\u0633\u062a \u0628\u0627 \u062c\u0633\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u062c\u0633\u062a \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631 \u0633\u0627\u062f\u0647\u200c\u0627\u06cc \u067e\u06cc\u0631\u0648\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u06a9\u0647 \u0627\u0632 \u0633\u0647 \u0628\u062e\u0634 \u0627\u0635\u0644\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\n<strong><code>describe<\/code><\/strong>: \u062a\u0633\u062a \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06af\u0631\u0648\u0647 \u0647\u0627.<\/li>\n<li>\n<strong><code>it<\/code>  \u06cc\u0627 <code>test<\/code><\/strong>: \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u062e\u0627\u0635 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>expect<\/code><\/strong>: \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u062f \u0628\u0627\u06cc\u062f \u0686\u0647 \u0686\u06cc\u0632\u06cc \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f \u06cc\u0627 \u0686\u06af\u0648\u0646\u0647 \u0628\u0627\u06cc\u062f \u0631\u0641\u062a\u0627\u0631 \u06a9\u0646\u062f\u060c \u0628\u06cc\u0627\u0646\u06cc\u0647 \u0627\u06cc \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<\/ul>\n<p><strong>\u0646\u0645\u0648\u0646\u0647 \u0622\u0632\u0645\u0648\u0646 \u067e\u0627\u06cc\u0647:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">describe<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Testando a fun\u00e7\u00e3o soma<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nf\">it<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Deve somar dois n\u00fameros corretamente<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">resultado<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">soma<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n    <span class=\"nf\">expect<\/span><span class=\"p\">(<\/span><span class=\"nx\">resultado<\/span><span class=\"p\">).<\/span><span class=\"nf\">toBe<\/span><span class=\"p\">(<\/span><span class=\"mi\">3<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ A expectativa \u00e9 que o resultado seja 3<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644:<\/p>\n<ul>\n<li>\n<code>describe<\/code>  \u0628\u0631\u0627\u06cc \u06af\u0631\u0648\u0647 \u0628\u0646\u062f\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u062e\u0627\u0635 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f (<code>soma<\/code>).<\/li>\n<li>\n<code>it<\/code>  \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0631\u0627 \u062a\u0648\u0635\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0622\u06cc\u0627 \u0645\u062c\u0645\u0648\u0639 1 \u0648 2 \u0628\u0647 3 \u0645\u06cc \u0631\u0633\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/li>\n<li>\n<code>expect(resultado).toBe(3)<\/code>  \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0627\u0631\u0632\u0634 <code>resultado<\/code> \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 3 \u0627\u0633\u062a.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B3%D8%AA_%D8%AA%D9%88%D8%A7%D8%A8%D8%B9_%D8%B3%D8%A7%D8%AF%D9%87\"><\/span>\n<p>  \u062a\u0633\u062a \u062a\u0648\u0627\u0628\u0639 \u0633\u0627\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0633\u0627\u062f\u0647 \u062f\u0627\u0631\u06cc\u0645 <code>soma<\/code> \u06a9\u0647 \u062f\u0648 \u0639\u062f\u062f \u0631\u0627 \u062c\u0645\u0639 \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">function<\/span> <span class=\"nf\">soma<\/span><span class=\"p\">(<\/span><span class=\"nx\">a<\/span><span class=\"p\">,<\/span> <span class=\"nx\">b<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">return<\/span> <span class=\"nx\">a<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">b<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0628\u0627 Jest\u060c \u06cc\u06a9 \u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0633\u0627\u062f\u0647 \u0645\u0627\u0646\u0646\u062f \u0632\u06cc\u0631 \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u062f:<\/p>\n<p><strong>\u0641\u0627\u06cc\u0644 \u062a\u0633\u062a <code>soma.test.js<\/code>:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">soma<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">.\/soma<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n<span class=\"nf\">describe<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Fun\u00e7\u00e3o soma<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nf\">it<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Deve retornar a soma correta de dois n\u00fameros<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nf\">expect<\/span><span class=\"p\">(<\/span><span class=\"nf\">soma<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">)).<\/span><span class=\"nf\">toBe<\/span><span class=\"p\">(<\/span><span class=\"mi\">3<\/span><span class=\"p\">);<\/span>\n    <span class=\"nf\">expect<\/span><span class=\"p\">(<\/span><span class=\"nf\">soma<\/span><span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)).<\/span><span class=\"nf\">toBe<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n    <span class=\"nf\">expect<\/span><span class=\"p\">(<\/span><span class=\"nf\">soma<\/span><span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)).<\/span><span class=\"nf\">toBe<\/span><span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\n<strong><code>describe<\/code><\/strong>: \u062a\u0633\u062a \u0647\u0627\u06cc \u062a\u0627\u0628\u0639 \u0631\u0627 \u06af\u0631\u0648\u0647 \u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u062f <code>soma<\/code>.<\/li>\n<li>\n<strong><code>it<\/code><\/strong>: \u0622\u0632\u0645\u0627\u06cc\u0634 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u062a\u0627\u0628\u0639 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/li>\n<li>\n<strong><code>expect<\/code><\/strong>: \u0628\u06cc\u0627\u0646\u06cc\u0647 <code>toBe<\/code> \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u0642\u062f\u0627\u0631 \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062a\u0627\u0628\u0639 \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B3%D8%AA_%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA_%D9%87%D8%A7%DB%8C_React\"><\/span>\n<p>  \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0647\u0627\u06cc React<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u062c\u0632\u0627\u06cc React \u062a\u0633\u062a \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <strong>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a \u0648\u0627\u06a9\u0646\u0634<\/strong> \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u062c\u0633\u062a \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a React \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0639\u0627\u0645\u0644\u0627\u062a \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0631\u0646\u062f\u0631 \u0648 \u0631\u0641\u062a\u0627\u0631 \u0627\u062c\u0632\u0627 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u062b\u0627\u0644\u06cc \u0627\u0632 \u0646\u062d\u0648\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06cc\u06a9 \u062c\u0632\u0621 \u0633\u0627\u062f\u0647 React \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p><strong>\u062c\u0632\u0621 <code>Button.js<\/code>:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"nx\">React<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">useState<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nf\">Button<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">clicked<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setClicked<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"nx\">handleClick<\/span> <span class=\"o\">=<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nf\">setClicked<\/span><span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">clicked<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">};<\/span>\n\n  <span class=\"k\">return <\/span><span class=\"p\">(<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"nx\">button<\/span> <span class=\"nx\">onClick<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">handleClick<\/span><span class=\"p\">}<\/span><span class=\"o\">&gt;<\/span>\n      <span class=\"p\">{<\/span><span class=\"nx\">clicked<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Clicked!<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Click me<\/span><span class=\"dl\">'<\/span><span class=\"p\">}<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"sr\">\/button<\/span><span class=\"err\">&gt;\n<\/span>  <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"nx\">Button<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0628\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a Jest \u0648 React:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">render<\/span><span class=\"p\">,<\/span> <span class=\"nx\">fireEvent<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@testing-library\/react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"nx\">Button<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/Button<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nf\">describe<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Button component<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nf\">it<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Deve alternar o texto ao ser clicado<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">getByText<\/span> <span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">render<\/span><span class=\"p\">(<\/span><span class=\"o\">&lt;<\/span><span class=\"nx\">Button<\/span> <span class=\"o\">\/&gt;<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Verifica se o texto inicial \u00e9 \"Click me\"<\/span>\n    <span class=\"nf\">expect<\/span><span class=\"p\">(<\/span><span class=\"nf\">getByText<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Click me<\/span><span class=\"dl\">'<\/span><span class=\"p\">)).<\/span><span class=\"nf\">toBeInTheDocument<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Simula o clique no bot\u00e3o<\/span>\n    <span class=\"nx\">fireEvent<\/span><span class=\"p\">.<\/span><span class=\"nf\">click<\/span><span class=\"p\">(<\/span><span class=\"nf\">getByText<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Click me<\/span><span class=\"dl\">'<\/span><span class=\"p\">));<\/span>\n\n    <span class=\"c1\">\/\/ Verifica se o texto foi alterado para \"Clicked!\"<\/span>\n    <span class=\"nf\">expect<\/span><span class=\"p\">(<\/span><span class=\"nf\">getByText<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Clicked!<\/span><span class=\"dl\">'<\/span><span class=\"p\">)).<\/span><span class=\"nf\">toBeInTheDocument<\/span><span class=\"p\">();<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u062a\u0648\u0636\u06cc\u062d \u062a\u0633\u062a:<\/strong><\/p>\n<ol>\n<li>\n<strong><code>render(<button\/>)<\/code><\/strong>: \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0631\u0627 \u0631\u0646\u062f\u0631 \u0645\u06cc \u06a9\u0646\u062f <code>Button<\/code>.<\/li>\n<li>\n<strong><code>getByText<\/code><\/strong>: \u0639\u0646\u0635\u0631\u06cc \u0631\u0627 \u0628\u0627 \u0645\u062a\u0646 &#8220;Click me&#8221; \u067e\u06cc\u062f\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>fireEvent.click<\/code><\/strong>: \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>expect(getByText('Clicked!')).toBeInTheDocument()<\/code><\/strong>: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u067e\u0633 \u0627\u0632 \u06a9\u0644\u06cc\u06a9\u060c \u0645\u062a\u0646 \u0628\u0647 &#8220;\u06a9\u0644\u06cc\u06a9 \u0634\u062f\u0647!&#8221; \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"Tipos_de_Expectativas_%D9%85%D8%B3%D8%A7%D8%A8%D9%82%D9%87\"><\/span>\n<p>  Tipos de Expectativas (\u0645\u0633\u0627\u0628\u0642\u0647)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Jest \u0686\u0646\u062f\u06cc\u0646 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc \u062f\u0647\u062f <strong>\u0645\u0633\u0627\u0628\u0642\u0627\u062a<\/strong> (\u0631\u0648\u0634 \u0647\u0627\u06cc \u0645\u0642\u0627\u06cc\u0633\u0647) \u062a\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0648\u0636\u0639\u06cc\u062a \u06a9\u062f \u062e\u0648\u062f \u0627\u0638\u0647\u0627\u0631 \u0646\u0638\u0631 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062a\u0639\u062f\u0627\u062f\u06cc \u0627\u0632 \u067e\u0631\u06a9\u0627\u0631\u0628\u0631\u062f\u062a\u0631\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\n<strong><code>toBe<\/code><\/strong>: \u0628\u0631\u0627\u0628\u0631\u06cc (\u0628\u0631\u0627\u06cc \u0645\u0642\u0627\u062f\u06cc\u0631 \u0627\u0648\u0644\u06cc\u0647) \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>toEqual<\/code><\/strong>: \u0628\u0631\u0627\u0628\u0631\u06cc \u0639\u0645\u06cc\u0642 (\u0628\u0631\u0627\u06cc \u0627\u0634\u06cc\u0627 \u0648 \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627) \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>toBeTruthy<\/code>  \/ <code>toBeFalsy<\/code><\/strong>: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u0642\u062f\u0627\u0631 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06cc\u0627 \u062e\u06cc\u0631 <code>true<\/code> \u06cc\u0627 <code>false<\/code>.<\/li>\n<li>\n<strong><code>toBeInTheDocument<\/code><\/strong>: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0639\u0646\u0635\u0631\u06cc \u062f\u0631 DOM \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f (\u0645\u0641\u06cc\u062f \u0628\u0631\u0627\u06cc React Testing Library).<\/li>\n<li>\n<strong><code>toHaveBeenCalled<\/code><\/strong>: \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"4_%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7\"><\/span>\n<p>  4. <strong>\u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u067e\u0633 \u0627\u0632 \u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a \u0647\u0627\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npm <span class=\"nb\">test<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>Jest \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0627 \u067e\u0633\u0648\u0646\u062f \u062c\u0633\u062a\u062c\u0648 \u0645\u06cc \u06a9\u0646\u062f <code>.test.js<\/code> \u06cc\u0627 <code>.spec.js<\/code> \u0648 \u062a\u0633\u062a \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0622\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7_%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84%D8%AA_%D8%AA%D8%B9%D8%A7%D9%85%D9%84%DB%8C\"><\/span>\n<p>  \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u062a\u0639\u0627\u0645\u0644\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Jest \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u062a\u0639\u0627\u0645\u0644\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0633\u062a \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647\u060c \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npm <span class=\"nb\">test<\/span> <span class=\"nt\">--<\/span> <span class=\"nt\">--watch<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627\u0639\u062b \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 Jest \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 \u06a9\u062f \u06af\u0648\u0634 \u062f\u0647\u062f \u0648 \u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u060c \u0634\u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647:<\/p>\n<ul>\n<li>\n<strong>\u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 o \u0628\u0644\u0647<\/strong> \u0648 \u0645\u062d\u06cc\u0637 \u062a\u0633\u062a \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 <strong>\u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f<\/strong> \u0628\u0631\u0627\u06cc \u062a\u0648\u0627\u0628\u0639 \u0648 \u0627\u062c\u0632\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 React.<\/li>\n<li>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 <strong>\u0627\u062f\u0639\u0627\u0647\u0627<\/strong> \u0627\u0632 Jest \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0631\u0641\u062a\u0627\u0631 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u062f.<\/li>\n<li>\u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f <strong>\u062e\u0648\u062f\u06a9\u0627\u0631<\/strong> \u0628\u0631\u0627\u06cc \u0627\u062c\u0632\u0627\u06cc React \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <strong>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a \u0648\u0627\u06a9\u0646\u0634<\/strong>.<\/li>\n<\/ul>\n<p>\u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0628\u062e\u0634 \u0645\u0647\u0645\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f \u06a9\u0647 \u06a9\u062f \u0634\u0645\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0628\u0639\u062f\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u062e\u0631\u0627\u0628 \u0646\u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645 \u0645\u0627\u0698\u0648\u0644 15: \u062a\u0633\u062a \u0648\u0627\u062d\u062f \u0628\u0627 \u062c\u0633\u062a \u062f\u0631 \u062c\u0632\u0626\u06cc\u0627\u062a \u062a\u0645\u0631\u06a9\u0632 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0622\u0645\u0648\u0632\u0634 \u0646\u062d\u0648\u0647 \u0627\u0646\u062c\u0627\u0645 \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u0645\u062d\u0628\u0648\u0628 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc React. \u0645\u0627 \u0645\u0642\u062f\u0645\u0647 \u062a\u0633\u062a \u0648\u0627\u062d\u062f\u060c \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":86399,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-86398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/86398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=86398"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/86398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/86399"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=86398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=86398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=86398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}