Я создал компонент Vue и модульный тест для проверки его поведения. Я могу использовать компонент в своем приложении Vue без каких-либо проблем, но когда я запускаю свой модульный тест с использованием jest, я получаю ошибку:
error TS2339: Property 'extend' does not exist on type 'typ
eof import("</path/to/module>")'.
1 export default Vue.extend({
vButton.ts - тестируемый компонент
export default Vue.extend({
template: `
<div>
<button class="default-button" @click="click">
<span>{{ text }}</span>
</button>
</div>
`,
props: {
text: String,
action: Function
},
methods: {
click(): void {
this.$emit('action');
}
}
});
vButton.spec.ts - модульный тест
import { mount } from '@vue/test-utils'
import vButton from '../views/core/ts/components/vButton'
describe('vButton', () => {
describe(':props', () => {
it(':text - should render a button with the passed-in label text', () => {
const msg = 'new message';
const wrapper = mount(vButton, {
propsData: { text: msg },
});
expect(wrapper.text()).toMatch(msg);
});
});
describe('@events', () => {
it('@click - should emit an "action" event when the button is clicked', () => {
const wrapper = mount(vButton);
const button = wrapper.find('button')
button.trigger('click')
expect(wrapper.emitted().action).toBeTruthy()
})
});
});
Я ожидаю, что Vue.extend будет работать нормально при запуске модульного теста.