在 vue2 项目中使用 vitest 进行单元测试是可以的,
但是再安装 vue test utils 1.x 进行组件测试就会有问题,报错
Failed to parse source for import analysis because the content contains invalid JS syntax. Install @vitejs/plugin-vue to handle .vue files.
然而提示信息 @vitejs/plugin-vue
是适用于 vue3 的。
vue test utils 官网里给的方案里没有适用于 vitest 的,请问友友们有解决方案吗?如何在vue2 项目(vuecli 搭建)中使用 vitest 和 vue test utils?
在 Vue 2 项目中,可以使用 Vue Test Utils 进行组件测试,而不需要使用 Vite 或 @vitejs/plugin-vue。
首先,确保你已经安装了 Vue Test Utils 的适合 Vue 2 的版本。可以通过以下命令进行安装:
npm install @vue/test-utils@1.x --save-dev
然后,你可以在 Vue 2 项目中使用 Vue Test Utils 进行组件测试。以下是一个简单的示例:
- 创建一个组件文件
HelloWorld.vue
:
<template>
<div class="hello-world">
<h1>{{ msg }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
msg: 'Hello, World!'
}
}
}
</script>
- 创建一个测试文件
HelloWorld.spec.js
:
import { shallowMount } from '@vue/test-utils';
import HelloWorld from './HelloWorld.vue';
describe('HelloWorld.vue', () => {
it('renders the correct message', () => {
const wrapper = shallowMount(HelloWorld);
expect(wrapper.find('h1').text()).toBe('Hello, World!');
});
});
在这个测试文件中,我们使用 shallowMount
方法来浅渲染组件,并对组件进行断言。
运行测试命令(例如:npm run test
),你应该能够看到测试运行成功,而不会报错关于 Vite 或 @vitejs/plugin-vue 的错误。
请注意,以上示例中的测试代码是使用 Vue Test Utils 的 1.x 版本编写的。如果你使用的是不同的版本,请适当调整代码。
希望这个解决方案能满足你的需求。如果你还有其他问题,请随时提问。