Autoevaluación de proyectos
Cómo funciona la autoevaluación
Para ejecutar las pruebas, se utiliza GitHub Action, que el sistema agrega automáticamente al crear el repositorio del proyecto. La acción "espera" a que el estudiante complete todos los pasos del proyecto en la interfaz del sitio web y se activa en el último paso al enviarlo para su revisión. Luego, después de cada commit, el proyecto se somete a pruebas y al linter de Códica.
Los resultados de la evaluación se muestran en una insignia (badge) en el README del repositorio y en la página Actions → Workflows → hexlet-check
. Si todas las pruebas se completan con éxito, la insignia será verde - passing
y en los resultados de la ejecución de la acción aparecerá una marca de verificación verde. Si las pruebas o el linter encuentran errores, verás la insignia roja - failing
y una marca de equis roja.
Cómo interpretar los resultados de la autoevaluación
Ve a la pestaña Actions, selecciona el flujo de trabajo (workflow) → hexelt-check
a la izquierda y, a la derecha, el resultado de la ejecución de la acción.
Aquí, como ejemplo, se seleccionará la acción que falló en el commit ❌ "refactoring stylish".
A la izquierda, en el bloque Jobs, verás el trabajo ❌ build. Selecciónalo y se cargarán los pasos. Nos interesa el paso ❌ Hexlet project check.
Si lo expandes, se abrirá el registro que muestra todo lo que ocurrió. Las primeras docenas de líneas son información de servicio y se pueden omitir.
❗ Busca mensajes que se parezcan a los resultados de la evaluación específica de tu proyecto.
Por ejemplo, así se verán los mensajes sobre pruebas fallidas y exitosas.
En la segunda captura de pantalla, en la línea 38, se muestra la ejecución del linter, que no encontró errores.
En los proyectos con frontend, a los resultados de las pruebas se adjuntan capturas de pantalla de las páginas si no se ven como se espera. En GitHub, estos archivos se llaman artefactos (Artifacts) y están disponibles para su descarga en la parte inferior de la página de la acción que falló.
Los proyectos de maquetación se evalúan solo con instantáneas: la página de referencia se compara con la página del estudiante y se calcula la diferencia entre ellas. El resultado de la evaluación es una imagen con tres partes: esperado / diferencia / obtenido
En el proyecto del estudiante (a la derecha), el fragmento de la página resultó estar más abajo de lo necesario (a la izquierda), y también hay diferencias en la disposición y el formato del texto. Todo lo que es diferente está resaltado en rojo en la captura de pantalla del medio.
Cómo depurar tu código
Puedes depurar el código de la misma manera que en las prácticas, mediante la impresión de mensajes de depuración. Los resultados de esto aparecerán en la salida general, junto con los resultados de las pruebas.
Presta atención a todo: textos, comillas, saltos de línea.
Si estás desarrollando en Windows, asegúrate de que en el editor se utilicen saltos de línea LF en lugar de CRLF.
Esto es importante, ya que las pruebas se ejecutan en Linux y los valores de texto pueden interpretarse incorrectamente.
En algunos proyectos, hay un requisito de usar bibliotecas especiales para depurar la aplicación. Luego, estas bibliotecas se "activan" mediante variables de entorno al iniciar la autoevaluación, por ejemplo, así: DEBUG=axios,page-loader npm test
Los resultados de la depuración se muestran junto con los resultados de las pruebas.
En proyectos con frontend, observa las instantáneas obtenidas de los artefactos. Esto te permitirá ver tu proyecto como lo ven las pruebas.
Recomendaciones para completar proyectos
Realiza cada paso del proyecto estrictamente de acuerdo con los requisitos y pasa al siguiente.
A veces, la tarea en el próximo paso puede llevar a cambios significativos en la arquitectura del proyecto, y puede ser necesario reescribir el código implementado anteriormente. Por lo tanto, cuanto antes llegues al paso final con la funcionalidad mínima necesaria, más fácil será ver el panorama completo.
Los proyectos se basan en el material cubierto y contienen enlaces para el autoaprendizaje. Si la tarea de un paso está mal formulada o no hay suficiente información para completarla, comunícalo en el canal del grupo, mejoraremos la descripción y te ayudaremos a entenderlo 🤝😊
Sin Comentarios