Pruebas Unitarias con Vue.js y Webpack: Configuración y Ejecución
Clase 52 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
- 3

Herramientas esenciales para desarrollar con BioJS y NodeJS
06:13 - 4

Creación de una Aplicación Vue.js con CLI y Webpack Simple
12:50 - 5

Configuración y uso de Webpack en proyectos JavaScript
10:38 - 6

Configuración y uso de Babel para compatibilidad JavaScript
05:06 - 7

Configuración de eSlimt con EstándarJS y Webpack
15:34 - 8

Integración de SaaS y Bulma en Aplicaciones Vue.js
06:18 - 9

Configuración de Pag para optimizar el workflow de desarrollo HTML
04:23 - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 - 11
Creación de Vistas con Mockups y Vue.js
00:32
- 12

Expresiones en Vue: Manipulación Dinámica del DOM
03:49 - 13

Directivas de Vue: Uso y Funciones Principales
06:22 - 14

Data Binding y Directivas en Vue: bmodel y bevined
04:11 - 15

Propiedades Computadas en JavaScript: Creación y Uso Práctico
04:13 - 16

Uso de Watchers en Biomóvil para Gestión de Cambios de Propiedades
02:25 - 17

Manipulación de Eventos y Métodos en Aplicaciones Web
06:12 - 18

Creación de Interfaz con Vue.js y Framework CSS Bulma
19:03 - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00
- 23

Creación y Registro de Componentes en Vue.js
08:46 - 24

Creación de Componentes en Vue.js con Bulma para Platzi Music
09:50 - 25

Reactividad y Virtual DOM en Vue.js: Conceptos y Soluciones
06:14 - 26

Ciclo de Vida de Componentes en Vue.js: Hooks y Ejecución de Código
05:38 - 27

Comunicación entre Componentes en Vue.js: Props y Eventos
23:27 - 28

Comunicación entre Componentes en Vue: Eventos de Hijo a Padre
12:04 - 29

Uso de Slots para Inyección Dinámica de HTML en Componentes Vue
13:42 - 30

Comunicación entre Componentes Vue con Event Bus y Plugins
19:19
- 39

Gestión de Estados Centralizados con la Librería BuX
03:41 - 40

Integración de VueX y arquitectura Flux en Vue.js
17:32 - 41

Mutaciones en Vuex: Gestión y Actualización del Estado Reactivo
08:16 - 42

Uso de Getters en Vuex para Acceso Personalizado de Estado
07:35 - 43

Acciones asincrónicas en Vuex: cómo implementarlas y utilizarlas
07:55 - 44

Integración de VueX y Babel en PlatziMusic
26:37
¿Cómo configurar UnitTest en aplicaciones Vue con el template Webpack?
Vue.js ofrece una potente herramienta para desarrollar aplicaciones web reactivas e interactivas. Sin embargo, integrar UnitTest con todas las configuraciones necesarias en Vue puede ser una tarea ardua. Afortunadamente, Vue nos facilita la vida al proporcionar un template llamado Webpack, que ya tiene todo configurado para realizar testing. Este template es recomendable para quienes ya tienen experiencia con Vue y buscan profundizar en su configuración con Webpack y Babel.
¿Cómo generar una nueva aplicación con el template Webpack?
Para comenzar, utilizamos el CLI de Vue para crear un nuevo proyecto con este template especial. Esto nos permitirá integrar de forma nativa herramientas como Webpack y Babel, preparándonos además para integrar pruebas unitarias fácilmente.
vue init webpack nombre-del-proyecto
cd nombre-del-proyecto
npm install
Durante el proceso de configuración, se te preguntará si deseas instalar el conjunto completo de herramientas, incluyendo el runtime y diversas configuraciones como ISLint y setup de UnitTest. Para este ejercicio, optamos por configurar solo UnitTest, omitiendo el testing de extremo a extremo.
¿Cuál es la estructura del proyecto con el template Webpack?
Una vez instales las dependencias, notarás que el proyecto generado tiene una estructura más compleja que el template simple de Vue. Esto se debe a que:
- Incluye más archivos y configuraciones diversas para Webpack.
- Configura un "dev server" con Node y Express.
- Integra capacidades nativas para testing.
Es esencial destacar que aunque la estructura es más compleja, la utilización de Vue.js en el desarrollo sigue siendo la misma.
¿Cómo funcionan las pruebas con Karma, Mocha y Chai?
Dentro del directorio test, encontrarás una carpeta unit y un archivo karmaconf que permite configurar el entorno de pruebas. Karma se encarga de ejecutar tests en diferentes navegadores, asegurando que el código funcione correctamente en todos los contextos.
Entendiendo las pruebas con Mocha y Chai
Mocha se utiliza como framework de testing, y Chai, específicamente con la biblioteca Sinology, se encarga de las assertions para verificar que el código funcione como se espera.
describe('Componente Hello', () => {
it('debería renderizar el contenido correcto', () => {
// test de Mocha para asegurar que el contenido es correcto
});
it('debería tener texto correcto', () => {
expect(helloData().message).to.equal('Welcome to Your Vue.js App');
});
});
npm run unit
Al ejecutar npm run unit, Karma compila la aplicación entera y ejecuta los tests, mostrando el output de forma clara en la terminal.
¿Cómo asegurar la compatibilidad entre navegadores?
Un aspecto vital en el testing es asegurar que el código sea funcional en múltiples navegadores, gracias a la capacidad de Karma para correr tests en Chrome, Safari, Internet Explorer, Firefox, e incluso Phantom JS, que es un browser de terminal.
- Desarrollo: Usar Phantom JS para un testing rápido desde la terminal.
- Producción: Probar en todos los navegadores posibles para garantizar la funcionalidad y fiabilidad del código.
En conclusión, usar el template Webpack de Vue optimiza y facilita el proceso de testing en aplicaciones Vue.js. Su configuración avanzada ofrece pruebas efectivas a través de diferentes navegadores, lo que es crucial para cualquier desarrollador buscando calidad y consistencia en su software.