I'm using vue-cli-service to build my vuejs application.
The build is successful, but in webstorm IDE, I get some TS2339 errors :
Test.vue:
<template>
<div>{{method()}}</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
@Component
export default class Test extends Vue {
public method(): string {
return 'hello';
}
}
</script>
Test.spec.ts:
import 'jest';
import {mount} from '@vue/test-utils';
import Test from '@/views/common/Test.vue';
describe('Test.vue', () => {
let wrapper: any;
beforeEach(() => {
wrapper = mount(Test);
});
test('test method call', () => {
const test = wrapper.find(Test).vm as Test;
expect(test.method()).toEqual('hello');
});
});
In Test.spec.ts, I get this error, both in editor and in typescript window:
Error:(14, 21) TS2339: Property 'method' does not exist on type 'Vue'.
But the test is OK, so test.method()
is resolved successfully at runtime.