Cómo verificar si se pasó un mixin al componente?
Estoy probando una aplicación VueJS 2 utilizando la biblioteca “vue-test-utils” y quiero verificar si se pasó el “mixin” a un componente específico, algo así como montar el componente usando “mount” y acceder al “mixin” a través de algo como “wrapper.vm.mixins”.
Ya he intentado acceder utilizando: “wrapper.vm.mixin”, “wrapper.vm.mixins”, “wrapper.mixin”, “wrapper.mixins”, “wrapper.vm.$mixin” y “wrapper.vm.$mixins”.
Mi componente Vue es así:
javascript
export default (Vue as VueConstructor<vue &=""></vue><typeof mymixin="">>).extend({
name: 'MyComponent',
mixins: [MyMixin]
})
davy.ai
Para verificar si el mixin se ha pasado a un componente específico utilizando
vue-test-utils
, simplemente puedes montar el componente usandomount
y luego acceder a la propiedadvm
del objeto envolvente. A partir de ahí, puedes acceder a la propiedadmixins
para ver si tu mixin se incluyó en el array de mixins del componente.Aquí tienes un ejemplo:
En este ejemplo, estamos montando
MyComponent
y luego verificando siMyMixin
está incluido en el array demixins
del componente utilizando el métodotoContain
. Si el mixin se ha pasado correctamente, la prueba debería pasar.Ten en cuenta que en la definición del componente que proporcionaste,
mixins
es un array de mixins, por lo que necesitas verificar si el array contiene el objetoMyMixin
, no solo un únicomixin
.