我有一个导入到应用程序中的UI库。UI库中有一个自定义指令,toggle
我们用于打开和关闭模式。运行单元测试时,出现以下错误:
[Vue warn]: Failed to resolve directive: toggle
(found in <Identity>)
在我的Identity
组件中,我使用的是来自UI库的组件checkbox
,其中包含以下指令:
<checkbox
:value="rememberMe"
:label="$t('identity.rememberMeHeading')"
name="rememberMe"
data-test="remember-me"
@input="toggleRememberMe()">
<span slot="subtext"> {{ $t('identity.rememberMeSubheading') }}
<a v-toggle:a-modal="'learn-more-modal'"
@click.prevent="() => {}">{{ $t('identity.learnMore') }}</a>
</span>
</checkbox>
如何解决我的错误Identity.spec.js
?导入后,我有:
const localVue = createLocalVue()
localVue.use(Vuex)
localVue.use('toggle')
的第二个参数shallowMount
和mount
接受directives
属性,它定义指令,以在所述组件中使用。您可以使用此属性来声明v-toggle
指令:
shallowMount(MyComponent, {
directives: {
toggle() { /* stub */ }
}
})
例如,要确保在组件中使用指令:
const toggle = jest.fn()
shallowMount(MyComponent, {
directives: {
toggle
}
})
expect(toggle).toHaveBeenCalled()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句