Ошибка «свойство extension» не существует для типа Vue »при запуске модульных тестов - PullRequest
0 голосов
/ 24 октября 2019

Я создал компонент 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 будет работать нормально при запуске модульного теста.

...