Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
vitest: how to add third part library for vue

I want to test my custom vue2 component which use third part library.

package.json

{
    "@vue/test-utils": "^1",
    "vite": "^2.9.13",
    "vitest": "^0.18.1"
}

I added a setupFiles to initial the third part library

vite.config.js

export default {
    test: {
        setupFiles: [
            'src/test/initial.js',
        ],
    },
}

src/test/initial.js

import { afterAll, beforeAll } from 'vitest';
import Vue from 'vue';

import PortalVue from 'portal-vue';

beforeAll(() => {
    Vue.use(PortalVue);
    console.log('initial test vue');
});

I am sure the initial.js has been loaded since the initial test vue is printed on the terminal.


in my test file:

import { mount } from '@vue/test-utils';
import { describe, it, expect } from 'vitest';

import CustomDialog from '~/components/custom-dialog.vue';

const getCustomDialogWrapper = template => {
    return mount({
        data() {
            return {
                show: false,
            };
        },
        components: {
            CustomDialog,
        },
        template: `
            <div>
                <button
                    id="show-dialog-btn"
                    type="button"
                    @click="show = true">
                    show dialog
                </button>
                ${template}
                <portal-target
                    name="dialogs-container"/>
            </div>
        `
    });
}

describe('custom-dialog.vue', () => {
    it('basic dialog without any custom props or title', async () => {
        const wrapper = getCustomDialogWrapper(`
                <custom-dialog
                    v-model="show">
                    dialog content
                </custom-dialog>
            `);
    });
});

But the vitest just can't find the third part library: [Vue warn]: Unknown custom element:

enter image description here

the test file is copy from the old project which works in jest + webpack, how to load the third part library in vitest + vite?

Thanks a lot for anyone helps!

about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda