Consideraciones especiales para escribir pruebas en Java en la plataforma Code Labs
Consideraciones generales
La plataforma Code Labs utiliza la Sandbox de pruebas de código abierto Ares
para ejecutar las pruebas en el lenguaje Java. Si deseas conocer más sobre las características de Ares
, puedes consultar la documentación de Ares y si no estás familiarizado con el framework JUnit 5
, puedes consultar la documentación oficial de JUnit 5.
Adicionalmente, te sugerimos tener en cuenta las siguientes consideraciones al escribir pruebas en Java para la plataforma Code Labs:
- Siempre agrega la anotación
@Timeout
a los métodos de prueba para limitar el tiempo que pueden ejecutarse las pruebas. Para saber más sobre la anotación@Timeout
, puedes consultar la sección de Timeouts de la documentación de Ares.
En resumen, tus archivos de pruebas deberían verse similares al siguiente ejemplo:
-
Las anotaciones
@Hidden
y@Public
de la libreríaAres
no son soportadas en la plataforma Code Labs ya que son específicas de la plataformaArtemis
. -
NO es posible ejecutar pruebas que requieran interacción con el sistema operativo, como abrir sockets, utilizar puertos del host, etc. La plataforma Code Labs está diseñada para ejecutar pruebas unitarias y no pruebas de integración o pruebas que requieran interacción con el sistema operativo.
-
Si en las pruebas se requiere importar clases o interfaces que se encuentren dentro de la carpeta
src/main/java
, asegúrate de indicar a tus estudiantes que ellos también deben crear las mismas clases o interfaces con el mismo nombre y en el mismo paquete en sus soluciones. La razón de esto se explica en la sección de estructura de carpetas. -
NO es posible agregar nuevas dependencias a las pruebas. Cualquier cambio en el archivo
pom.xml
será ignorado. La razón de esto se explica en la sección de estructura de carpetas. -
A modo de buena práctica, evita incluir el directorio
target
en el archivozip
que contenga las pruebas. Este directorio es generado porMaven
y contiene los archivos compilados del proyecto. La plataforma Code Labs generará el directoriotarget
automáticamente al ejecutar las pruebas, por lo que no es necesario incluirlo y solo aumentará el tamaño del archivozip
.
Estructura de carpetas
En caso del lenguaje Java, una vez que extraigas el archivo zip
con el template, encontrarás una única carpeta con la siguiente estructura:
Ten en cuenta que solo la carpeta src/test/java
es relevante para escribir las pruebas. Los cambios realizados en la carpeta src/main/java
serán reemplazados por las soluciones de los estudiantes al ejecutar las pruebas y los cambios realizados en el archivo pom.xml
serán ignorados por razones de seguridad.