Introducción
En este proyecto, aprenderás a corregir un problema en el archivo async.spec.js dentro del proyecto vue-router-3.0.1. El archivo async.spec.js contiene un caso de prueba que no detecta correctamente un error, y tu tarea es modificar el código para asegurarte de que la prueba pase como se espera.
👀 Vista previa
Mensaje:
Se esperaba que $.length = 3 fuera igual a 5.
Se esperaba que $[3] = undefined fuera igual a 4.
Se esperaba que $[4] = undefined fuera igual a 5.
🎯 Tareas
En este proyecto, aprenderás:
- Cómo localizar y modificar el archivo
async.spec.jsen el proyectovue-router-3.0.1 - Cómo entender el problema con el caso de prueba existente
- Cómo implementar los cambios necesarios para corregir el caso de prueba
🏆 Logros
Después de completar este proyecto, podrás:
- Identificar y corregir problemas en las pruebas unitarias
- Trabajar con código asincrónico y la función de utilidad
runQueue - Aplicar técnicas de depuración y solución de problemas en casos de prueba
Corrige la prueba en async.spec.js
Para comenzar, podemos ver la carpeta vue-router-3.0.1 en el directorio izquierdo del editor.
En este paso, aprenderás a corregir el problema en el archivo async.spec.js del proyecto vue-router-3.0.1.
- Abre el archivo
vue-router-3.0.1/test/unit/specs/async.spec.js. - Localiza el bloque
it("should work", (done) => {... }). - Cambia
const queue = [1, 2, 3, 4, 5].mapaconst queue = [1, 2, 3].mappara que sea más fácil para nosotros probar.
const queue = [1, 2, 3].map((i) => (next) => {
//...
});
- Abre la carpeta
vue-router-3.0.1en la terminal. - Ejecuta el comando
npm installpara instalar las dependencias. Este proceso puede tomar un tiempo, por favor, sea paciente. (Si se atasca durante mucho tiempo, presioneCtrl+Cpara terminar el proceso y luego ejecute este comando nuevamente.) - Después de instalar correctamente todas las dependencias, ejecuta la prueba unitaria ejecutando el comando
npm run test:uniten la terminal. Antes de la corrección, notarás que el script de prueba anterior no detectó ningún error. (En el código anterior, el valor decallses[1, 2, 3]que no es igual a[1, 2, 3, 4, 5]). - Para corregir el problema anterior, vamos a cambiar dentro del archivo
vue-router-3.0.1/test/unit/specs/async.spec.jsal siguiente código:
const queue = [1, 2, 3].map((i) => (next) => {
calls.push(i);
setTimeout(next, 0);
});
El cambio aquí es que cambiamos setTimeout(done, 0) a setTimeout(next, 0) para que la función no salga inmediatamente.
Ejecuta las pruebas
En este paso, volverás a construir el proyecto vue-router-3.0.1 y probarás el efecto de la corrección.
- Vuelve a ejecutar el comando
npm run test:unitpara ejecutar las pruebas unitarias. - Después de la corrección, deberías ver la siguiente salida:
Mensaje:
Se esperaba que $.length = 3 fuera igual a 5.
Se esperaba que $[3] = undefined fuera igual a 4.
Se esperaba que $[4] = undefined fuera igual a 5.
Esto indica que la prueba async.spec.js se ha corregido con éxito.
Resumen
¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



