๐ŸŽฏ B. ใƒ†ใ‚นใƒˆๆ›ธใๆ›ใˆไฝœๆฅญใƒใ‚งใƒƒใ‚ฏใƒชใ‚นใƒˆ

๏ผˆVue 2.7 ใ‚ฏใƒฉใ‚นใ‚ณใƒณใƒใƒผใƒใƒณใƒˆ โ†’ Composition API ๆ›ธใๆ›ใˆๆ™‚๏ผ‰


โœ… ใ€็›ฎ็š„ใ€‘


๐ŸŸข ใ€ๅŸบๆœฌใƒใ‚งใƒƒใ‚ฏ้ …็›ฎใ€‘

ใƒใ‚งใƒƒใ‚ฏ้ …็›ฎ ใ‚„ใฃใŸ๏ผŸ ่ฃœ่ถณ
โœ… @Prop() โ†’ defineProps() ใซๆ›ธใๆ›ใˆใŸใ‹ ๅž‹ใ‚‚ๅซใ‚ใฆ่จ˜่ผ‰ใ—ใŸ๏ผŸ
โœ… get ใ‚’ computed() ใซๆ›ธใๆ›ใˆใŸใ‹ ไพๅญ˜ใ™ใ‚‹ๅค‰ๆ•ฐใŒๆญฃใ—ใ ref / props ใ‹๏ผŸ
โœ… methods ใ‚’ setup ๅ†…ใฎ้–ขๆ•ฐใซ็งป่กŒใ—ใŸใ‹ ้–ขๆ•ฐใฎๅž‹ๅฎš็พฉใ‚‚ๅฟ˜ใ‚Œใš
โœ… this.$store.dispatch โ†’ useStore().dispatch ใซๆ›ธใๆ›ใˆใŸใ‹ useStore() ใงๅ–ๅพ—ใ—ใฆใ„ใ‚‹๏ผŸ
โœ… this.$store.commit โ†’ useStore().commit ใซๆ›ธใๆ›ใˆใŸใ‹
โœ… this.$store.state / getters ใฎๅ‚็…งๆ–นๆณ•ใ‚’ๅค‰ๆ›ดใ—ใŸใ‹ store.state.xxx, store.getters.xxx ใซๅค‰ๆ›ด

๐ŸŸ  ใ€ใƒ†ใ‚นใƒˆใ‚ณใƒผใƒ‰ๅดใƒใ‚งใƒƒใ‚ฏ้ …็›ฎใ€‘

ใƒใ‚งใƒƒใ‚ฏ้ …็›ฎ ใ‚„ใฃใŸ๏ผŸ ่ฃœ่ถณ
โœ… wrapper.vm.ใƒ—ใƒญใƒ‘ใƒ†ใ‚ฃ ใ‚’ไฝฟใฃใฆใ„ใชใ„ใ‹ ๅฟ…ใš text() / find() ใง็ขบ่ชใ™ใ‚‹
โœ… wrapper.vm.method() ใ‚’็›ดๆŽฅๅ‘ผใ‚“ใงใ„ใชใ„ใ‹ trigger() ใงใ‚คใƒ™ใƒณใƒˆ็™บ็ซใซๅค‰ๆ›ด
โœ… ้žๅŒๆœŸๅ‡ฆ็†ใฏ await ไป˜ใใงๆ›ธใ„ใฆใ„ใ‚‹ใ‹ nextTick() ใ‚‚ๅฟ˜ใ‚Œใšใซ
โœ… Vuex ใฎ store ใ‚’ jest.mock('vuex') ใงใƒขใƒƒใ‚ฏใ—ใฆใ„ใ‚‹ใ‹ useStore() ใ‚’ใƒขใƒƒใ‚ฏ
โœ… ใ‚นใƒŠใƒƒใƒ—ใ‚ทใƒงใƒƒใƒˆใฏๅฟ…่ฆใช็ฏ„ๅ›ฒใ ใ‘ๆ’ฎใฃใฆใ„ใ‚‹ใ‹ find().html() ใง็ตžใฃใฆใ„ใ‚‹๏ผŸ
โœ… ๅ‹•็š„ๅ€ค๏ผˆID, ๆ—ฅไป˜ใชใฉ๏ผ‰ใŒใ‚นใƒŠใƒƒใƒ—ใ‚ทใƒงใƒƒใƒˆใซๅ…ฅใฃใฆใ„ใชใ„ใ‹ ๅ›บๅฎšๅ€ค or ้™คๅค–

๐ŸŸฃ ใ€ใ‚นใƒŠใƒƒใƒ—ใ‚ทใƒงใƒƒใƒˆ้–ข้€ฃใฎใƒใ‚งใƒƒใ‚ฏใ€‘

ใƒใ‚งใƒƒใ‚ฏ้ …็›ฎ ใ‚„ใฃใŸ๏ผŸ ่ฃœ่ถณ
โœ… toMatchSnapshot() ใŒ้ฉๅˆ‡ใซไฝฟใ‚ใ‚Œใฆใ„ใ‚‹ใ‹ DOM ๅ‡บๅŠ›ใฎใฟใซไฝฟ็”จ
โœ… ใ‚นใƒŠใƒƒใƒ—ใ‚ทใƒงใƒƒใƒˆใ‚’ๆ’ฎใ‚Šใ™ใŽใฆใ„ใชใ„ใ‹ ไธ่ฆใช้ƒจๅˆ†ใ‚’ find() ใง้™คๅค–ใงใใฆใ„ใ‚‹ใ‹๏ผŸ
โœ… toMatchInlineSnapshot() ใฎไฝฟใ„ใฉใ“ใ‚ใ‚’ๅˆคๆ–ญใ—ใŸใ‹ ๅทฎๅˆ†ใŒๅฐ‘ใชใ„ๅ ดๅˆใฏใ‚คใƒณใƒฉใ‚คใƒณใ‚‚OK

๐ŸŸก ใ€Vuex Action / Mutation / Getter ใฎใƒ†ใ‚นใƒˆใ€‘

ใƒใ‚งใƒƒใ‚ฏ้ …็›ฎ ใ‚„ใฃใŸ๏ผŸ ่ฃœ่ถณ
โœ… ้žๅŒๆœŸ action (dispatch) ใฎๅ‘ผใณๅ‡บใ—ใ‚’ใƒขใƒƒใ‚ฏใ—ใฆใ„ใ‚‹ใ‹ jest.fn().mockResolvedValue() ไฝฟ็”จ
โœ… mutation (commit) ใ‚‚ๅฟ…่ฆใชใ‚‰ใƒขใƒƒใ‚ฏใ—ใฆใ„ใ‚‹ใ‹ Action ใƒ†ใ‚นใƒˆๆ™‚ใซ commit ใฎๅ‘ผใณๅ‡บใ—็ขบ่ช
โœ… getter ใฎๅ€คใ‚’ใƒขใƒƒใ‚ฏใ—ใฆๆญฃใ—ใๅ‹•ไฝœ็ขบ่ชใ—ใฆใ„ใ‚‹ใ‹ getters: { doubleCount: 10 } ใชใฉ