Closed
Description
For those coming from Google/elsewhere: If you have some problems with typing, for example when writing tests with ts-jest
and using SFC (.vue
) files, the work-around is to as as any
. Eg:
const wrapper = mount(Comp, {
data() {
return { foo: 'bar' }
}
} as any)
Or try this shim:
declare module '*.vue' {
import { DefineComponent } from 'vue';
const component: DefineComponent;
export default component;
}
In the future we aim to have type inference with vue
files too. For now, you may need to use as any
to avoid compilation errors in your tests.
Original issue:
No idea what's going on.
Some days I wonder if TS is actually making the DX better or worse, lol.
import { mount } from '@vue/test-utils'
const Layout = {
template: `
<div>
<header>
<slot name="header" />
</header>
<main>
<slot name="main" />
</main>
<footer>
<slot name="footer" />
</footer>
</div>
`
}
test('layout full page layout', () => {
const wrapper = mount(Layout, {
slots: {
header: '<div>Header</div>',
main: '<div>Main Content</div>' ,
footer: {
template: '<div>Footer</div>'
}
}
})
expect(wrapper.html()).toContain('Main Content')
})