Probar en la pista de ABAP

Aprende a probar tus ejercicios de ABAP en Exercism


En Exercism

Cada ejercicio se proporciona como una única clase ABAP (con uno o varios métodos). Normalmente se dan las definiciones de los métodos con parámetros de entrada y salida. Tu tarea es completar la implementación del método según las especificaciones del ejercicio.

Cuando tengas código que quieras probar, selecciona «Run Tests». Esto activará la ejecución de una clase de prueba ABAP correspondiente y los resultados se mostrarán al cabo de unos segundos. Si hay errores, vuelve a tu código y ajústalo en consecuencia. Si todas las pruebas pasan, ¡enhorabuena! Has completado el ejercicio y puedes enviar tu solución.

Solución de problemas

Entre bastidores, tu código ABAP se compila y se ejecuta con el llamado abaplint transpiler. Sigue siendo una solución relativamente nueva. Si tienes algún problema que no puedas resolver, crea una incidencia en GitHub.

Depuración y registro

No hay ningún depurador disponible cuando se ejecutan ejercicios de ABAP en el sitio web de Exercism. Eso puede dificultar averiguar por qué fallan tus pruebas. Sin embargo, hay una forma ingeniosa de registrar datos en tu código (nota: esto no funciona en ningún sistema ABAP).

Aquí tienes un ejemplo. La primera imagen muestra el código del ejercicio con algunas pruebas fallidas. Cada prueba fallida muestra los valores esperados y reales:

ejercicio sin registro

Para facilitar la depuración, añade una o varias llamadas a console=>log() y pasa los datos intermedios que quieras al método. Usar saltos de línea (\n) te ayudará a estructurar la salida. Cuando ejecutes las pruebas, verás la salida de la consola en los resultados de las pruebas:

ejercicio con registro

Nota: la salida de la consola solo es visible para las pruebas fallidas. Si vas a publicar tu solución, quizá quieras eliminar las instrucciones de registro para que tu iteración publicada sea más fácil de leer para otros miembros de la comunidad.

En tu propio sistema

El track completo

La forma más sencilla de empezar a practicar en tu propio sistema es clonar este repositorio con abapGit. Esto creará los esqueletos y las clases de prueba de todos los ejercicios disponibles actualmente.

Ejercicios individuales

Abre tus ABAP Development Tools (o las transacciones SE24 o SE80 si tienes un sistema más antiguo) y crea una clase ABAP nueva con el mismo nombre que la clase del ejercicio. Implementa también el esqueleto de la clase y la clase de prueba copiando y pegando el código del sitio web de Exercism.

Implementar soluciones

Ahora puedes editar la clase de un ejercicio e implementar una solución. Después, ejecuta las pruebas unitarias de ABAP para comprobar si pasa todas las pruebas. Cuando lo hayas completado y probado con éxito, corta y pega tu código en el editor del ejercicio en el sitio web de Exercism. Ejecuta también las pruebas allí.

Probar y completar el ejercicio

Cuando programas y pruebas en tu propio sistema, se usa el compilador y la ejecución estándar de SAP ABAP. Si tus pruebas fallan, es probable que tenga que ver con tu propio código. Vuelve a echarle un vistazo.

Si tu código pasa las pruebas unitarias con éxito, corta y pega la implementación de tu clase en el ejercicio del sitio web de Exercism y selecciona «Run Tests». Por supuesto, las pruebas también deberían pasar allí. Si no es así, consulta la sección de solución de problemas de arriba.