import { mount } from '@vue/test-utils' import D2ContainerFull from '@/components/d2-container/components/d2-container-full.vue' describe('d2-container-full', () => { // 存在且是Vue组件实例 it('is a vue instance', () => { const wrapper = mount(D2ContainerFull) expect(wrapper.exists()).toBeTruthy() expect(wrapper.isVueInstance()).toBeTruthy() }) // 包含特定类名 it('contains specific classnames', () => { const wrapper = mount(D2ContainerFull, { slots: { default: '
body
', header: '
header
', footer: '
footer
' } }) expect(wrapper.is('.d2-container-full')).toBeTruthy() expect(wrapper.contains('.d2-container-full__header')).toBeTruthy() expect(wrapper.contains('.d2-container-full__body')).toBeTruthy() expect(wrapper.contains('.d2-container-full__footer')).toBeTruthy() }) // props it('has props', () => { const wrapper = mount(D2ContainerFull, { propsData: { scrollDelay: 30 } }) expect(wrapper.props().scrollDelay).toEqual(30) }) // 渲染slot it('has one or more slots', () => { const wrapper = mount(D2ContainerFull, { slots: { default: '
body
', header: '
header
', footer: '
footer
' } }) expect(wrapper.text()).toMatch('header') expect(wrapper.text()).toMatch('body') expect(wrapper.text()).toMatch('footer') }) })