【发布时间】:2021-03-24 06:33:37
【问题描述】:
我使用 Vue 2 和 @vue/composition-api 插件。
我创建了一个 Jest 测试,但测试失败并出现错误:
Test suite failed to run
[vue-composition-api] must call Vue.use(VueCompositionAPI) before using any function.
1 | import { ref } from '@vue/composition-api';
2 |
> 3 | const showSidebar = ref(false);
| ^
4 | export const breakPointSize = 1250;
5 | export const classLink = 'SidebarSectionItemRow';
6 | export const idBtnNavbar = 'sidebarBtnNavbar';
test.spec.ts
import VueCompositionApi from '@vue/composition-api'
import { createLocalVue, mount } from '@vue/test-utils';
import MainMenuContent from '@/components/layouts/main/sidebar/menu/MainMenuContent.vue';
// create an extended `Vue` constructor
const localVue = createLocalVue()
// install plugins as normal
localVue.use(VueCompositionApi)
describe('MainMenuContent', () => {
it('expect AdminSection ', () => {
const wrapper = mount(MainMenuContent, {
localVue,
});
....
});
});
我认为这些错误是由ref 在setup() 函数之外引起的。
sidebarControl.ts
import { ref } from '@vue/composition-api';
const showSidebar = ref(false);
export function useControlSidebar() {
const toggleSidebar = () => {
showSidebar.value = !showSidebar.value;
};
return {
showSidebar,
toggleSidebar,
};
}
有没有办法解决这个问题?
【问题讨论】:
标签: vue.js vuejs2 jestjs vue-composition-api