Pruebas en el track de MoonScript

Aprende a probar tus ejercicios de MoonScript en Exercism


Las pruebas en el track de MoonScript son exactamente iguales a las pruebas en el track de Lua. Desde el directorio de un ejercicio, escribe:

$ busted

Pruebas pendientes

Este track sigue la metodología de desarrollo guiado por pruebas de Exercism. Se te da una suite de pruebas completa, pero solo la primera prueba está «activa».

Para habilitar las pruebas, cambia el comando de una prueba de pending a it.

Si eres de los que les gusta ejecutar todas las pruebas todo el tiempo, puedes usar una herramienta de línea de comandos para cambiarlas todas de una vez. Aquí tienes un ejemplo con perl (que está instalado en casi todas partes):

$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon

Cuando trabajas en el editor en línea, el ejecutor de pruebas ejecutará todas las pruebas automáticamente.

Cómo usar LuaRocks

Lua por sí solo es un lenguaje muy pequeño. LuaRocks es el gestor de paquetes de los módulos de Lua.

Eres libre de usar cualquier módulo en tus soluciones, pero no todos estarán disponibles en el ejecutor de pruebas en línea. El ejecutor de pruebas proporciona estos:

Ya disponibles como dependencias de busted

  • penlight (página principal)

    Penlight es un conjunto de bibliotecas de Lua puro que facilitan el trabajo con tareas comunes como recorrer directorios, leer archivos de configuración y cosas por el estilo. Ofrece operaciones funcionales sobre tablas y secuencias.

  • dkjson (página principal)

    dkjson es un módulo para codificar y decodificar datos JSON.

Ya disponibles como dependencias de MoonScript

  • LPeg (página principal)

    LPeg es una nueva biblioteca de coincidencia de patrones para Lua, basada en gramáticas de expresiones de análisis (PEG).

  • LuaFileSystem (página principal)

    LuaFileSystem ofrece una forma portátil de acceder a la estructura de directorios subyacente y a los atributos de los archivos.

Fecha y hora

  • date (github)

    Análisis de cadenas de fecha y hora; suma y resta de tiempos; cálculo de intervalos de tiempo; compatible con fechas ISO 8601.

  • lua-tz (github)

    Lua TZ ofrece funciones de fecha y hora con compatibilidad para zonas horarias. Las funciones principales tienen una interfaz similar a las funciones estándar os.date y os.time, pero además aceptan un argumento de zona horaria.

  • luatz (github)

    Una biblioteca de Lua para manipular fechas y horas.