Crear una tarea de programación desde un repositorio Git, con pruebas ocultas
Un buen ejercicio de programación suele ser un pequeño proyecto: código de partida, algunos archivos de utilidades, un archivo de paquetes y una carpeta de pruebas. Si ya guardas los tuyos en Git, no hace falta copiarlos al navegador archivo por archivo. Carga el repositorio en una tarea, indica qué archivos son pruebas que los alumnos no deben ver y asígnala.
Funciona con el servidor Git que incluye la plataforma, para el personal y los alumnos de un centro. Cualquier tarea de código se puede cargar así, también una que los alumnos clonarán y a la que subirán sus cambios, que tiene su propia página.
Cargar una tarea desde un repositorio
En el editor de la tarea pulsa «Cargar desde Git», elige un repositorio que puedas leer y una rama, o escribe una etiqueta o una confirmación, y pulsa «Vista previa». La vista previa muestra cada archivo que se cargaría, el archivo con el que empieza el programa y cada archivo que se dejaría fuera y por qué: no es texto, es demasiado grande o tiene un nombre que no se puede usar. Nada cambia hasta que pulsas «Cargar».
Al cargar, los archivos se copian una vez, con sus carpetas y su archivo de paquetes. Después, la tarea es como cualquier otra: la editas en el navegador como siempre y el repositorio no cambia. Los límites son los de cualquier proyecto, 50 archivos de 64 KB como máximo cada uno.
- Abre la tarea en su editor. Pulsa «Cargar desde Git» entre las herramientas que hay sobre el código.
- Elige el repositorio y la rama. Solo aparecen los repositorios que puedes leer. También sirve una etiqueta o una confirmación.
- Indica las rutas ocultas y protegidas. Una por línea: una carpeta como tests/, un nombre como test_*.py o una ruta.
- Obtén la vista previa y carga. Comprueba qué se cargará y qué se dejará fuera antes de que cambie nada.
- Asígnala. Cada alumno recibe su propia copia, sin los archivos ocultos.
Archivos de pruebas ocultos, y archivos que los alumnos no pueden cambiar
En la misma ventana, indica las rutas que los alumnos nunca deben ver, como tests/ o test_*.py, y las que pueden ver pero con las que no pueden cambiar lo que cuenta. Los archivos ocultos nunca se asignan ni se ponen en el repositorio de un alumno.
Cada vez que se prueba o califica el trabajo de un alumno, tus archivos ocultos y protegidos se vuelven a poner primero desde la tarea, así que cambiar una prueba en su propia copia no cambia nada que cuente. En Python, Java, Go y JavaScript con Node, los archivos de pruebas ocultos los ejecuta la herramienta de pruebas del lenguaje, pytest, JUnit, go test o la de Node, junto a la pestaña Pruebas de la tarea.
Las listas no son solo para tareas que vienen de Git: una tarea escrita en el navegador también puede tener rutas ocultas y protegidas.
Actualizar la tarea desde una confirmación posterior
La tarea recuerda de qué confirmación viene. «Actualizar desde Git» carga una posterior y sustituye lo que se haya editado en el navegador desde entonces. Los alumnos que ya tienen la tarea conservan sus copias, así que una corrección del código de partida llega a quienes reciban la tarea a partir de entonces.
Preguntas frecuentes
- ¿Puedo cargar una tarea desde GitHub?
- Desde el servidor Git de la plataforma. Para usar un proyecto que está en GitHub, súbelo antes a un repositorio de nuestro servidor Git, con un git remote add y un git push.
- ¿Ven los alumnos mi repositorio?
- No. Reciben su propia copia de la tarea, sin los archivos ocultos. Si les permites clonar la tarea, cada uno recibe un repositorio nuevo creado a partir de su propia copia, nunca el tuyo.
- ¿Puede un alumno cambiar las pruebas con las que se le califica?
- No. Los archivos de pruebas ocultos nunca se le dan, y cada vez que se prueba o califica su trabajo, tus archivos ocultos y protegidos se vuelven a poner desde la tarea.