рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jest
рд╕реЗрдЯрдЕрдк рд╣реИред рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП storybook
рд╕реЗрдЯрдЕрдк рд╣реИред рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде storyshots
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрддреА рд╣реИрдВред рдореЗрд░рд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
тЧП Test suite failed to run
ReferenceError: React is not defined
at Object.<anonymous> (src/widgets/generic.tsx:18:28)
at Object.<anonymous> (src/widgets/index.ts:1:25)
at Object.<anonymous> (src/browser/render.tsx:7:23)
at Object.<anonymous> (src/browser/shell.tsx:5:10)
at Object.<anonymous> (src/browser/api.tsx:3:33)
at Object.<anonymous> (src/browser/index.ts:1:23)
at Object.<anonymous> (stories/shell.tsx:3:15)
at newRequire (node_modules/@storybook/addon-storyshots/dist/require_context.js:73:14)
at loadStories (evalmachine.<anonymous>:7:5)
at ConfigApi.configure (node_modules/@kadira/storybook/dist/client/preview/config_api.js:93:9)
at evalmachine.<anonymous>:12:26
at runWithRequireContext (node_modules/@storybook/addon-storyshots/dist/require_context.js:102:3)
at testStorySnapshots (node_modules/@storybook/addon-storyshots/dist/index.js:100:35)
at Object.<anonymous> (test/alt.ts:2:18)
рдЕрдЬреАрдм рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ React
рдорд┐рд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ:
import React = require('react');
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рд╕рд░рд▓ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ allowSyntheticDefaultImports
рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ false
рдореЗрдВ tsconfig.json
рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХреНрдпреЛрдВ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред
рд▓реЗрдХрд┐рди рдЬреЗрд╕реНрдЯ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреЛрд░реАрд╢реЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд░рд╛рдЗрдЯрдЕрдк рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрди рд╕рднреА рдЫреЛрдЯреА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рдо рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рдирдореВрдирд╛ рд░реЗрдкреЛ рднреА рдмрдирд╛рддрд╛ рд╣реВрдВред
рдЗрд╕ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рд╡рд╢ рдЧрд┐рд░ рдЧрдпрд╛ред ts-jest
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдмреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ allowsyntheticdefaultimports
рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреА рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкрд░реЗрд╢рд╛рдиреА рдореЗрдВ рдкрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВред
(рдореИрдВ ts-jest
рдХрд╛ рдЕрдиреБрд░рдХреНрд╖рдХ рд╣реВрдВ)
@GeeWee , рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝реА: https://medium.com/@mtiller/storybook -react-typescript-and-jest-c9059ea06fa7
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рд╕рд░рд▓ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐
allowSyntheticDefaultImports
рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧfalse
рдореЗрдВtsconfig.json
рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХреНрдпреЛрдВ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛редрд▓реЗрдХрд┐рди рдЬреЗрд╕реНрдЯ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреЛрд░реАрд╢реЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд░рд╛рдЗрдЯрдЕрдк рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрди рд╕рднреА рдЫреЛрдЯреА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рдо рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рдирдореВрдирд╛ рд░реЗрдкреЛ рднреА рдмрдирд╛рддрд╛ рд╣реВрдВред