๏ผComposition API ใซใใใ props
ๅคๆดใซใใในใใใใทใงใใใในใ๏ผ
props
ใซใใฃใฆ่กจ็คบใๅคใใใณใณใใผใใณใ ใฎๅ ดๅใprops
ใๆธกใใใใฟใผใณใใจใซในใใใใทใงใใใๅใ ใใจใงโ ใในใๆใซ propsData
ใๅคใใฆ mount ใใใฐใ็ฐกๅใซๅใใฆ็ขบ่ชใงใใใ
<!-- Greeting.vue -->
<template>
<p>Hello, {{ name }}!</p>
</template>
<script lang="ts" setup>
import { defineProps } from 'vue';
const props = defineProps<{ name: string }>();
</script>
import { shallowMount } from '@vue/test-utils';
import Greeting from '@/components/Greeting.vue';
describe('Greeting.vue (propsใใจใฎในใใใใทใงใใ)', () => {
it('name ใ Vue ใฎๅ ดๅ', () => {
const wrapper = shallowMount(Greeting, {
propsData: { name: 'Vue' },
});
expect(wrapper.html()).toMatchSnapshot();
});
it('name ใ TypeScript ใฎๅ ดๅ', () => {
const wrapper = shallowMount(Greeting, {
propsData: { name: 'TypeScript' },
});
expect(wrapper.html()).toMatchSnapshot();
});
});
forEach
ใใฟใผใณ๏ผใdescribe('Greeting.vue (่คๆฐ props)', () => {
const names = ['Vue', 'TypeScript', 'Jest'];
names.forEach((name) => {
it(`name ใ ${name} ใฎๅ ดๅ`, () => {
const wrapper = shallowMount(Greeting, {
propsData: { name },
});
expect(wrapper.html()).toMatchSnapshot();
});
});
});
exports[`Greeting.vue (่คๆฐ props) name ใ Vue ใฎๅ ดๅ 1`] = `
<p>Hello, Vue!</p>
`;
exports[`Greeting.vue (่คๆฐ props) name ใ TypeScript ใฎๅ ดๅ 1`] = `
<p>Hello, TypeScript!</p>
`;
exports[`Greeting.vue (่คๆฐ props) name ใ Jest ใฎๅ ดๅ 1`] = `
<p>Hello, Jest!</p>
`;