Aprende a probar tus ejercicios de Pharo en Exercism
En su nivel más básico, Exercism gira en torno a los tests y al testing, ya que es lo que impulsa tu implementación y te indica cuándo has completado un ejercicio.
¡Pharo tiene un gran soporte para trabajar con tests y para el testing incremental! Puedes ejecutar cualquier test de un ejercicio haciendo clic en el orbe que hay junto a una clase o un método de caso de test.

Los orbes de test se colorean según el resultado de la última ejecución de tests:
Los tests de los ejercicios de Exercism se han numerado a propósito para dar un orden de ejecución definido (p. ej., test01_verifySomeProperty, test02_verifyAnotherProperty, etc.).
Cuando trabajes en un ejercicio, se recomienda que hagas clic en el orbe del primer test, que entiendas el fallo y lo que hace falta para superarlo, y que después añadas el código a tu solución para que funcione. En Pharo es bastante normal hacer estos cambios en el depurador, donde tienes acceso tanto al editor de código como a una vista de todas las variables y los parámetros que pueden ayudarte a entender el problema.
NOTA: no es una práctica habitual etiquetar los tests con un prefijo de orden, y NO deberías hacerlo cuando escribas tests para tu propio proyecto.
Pharo se ejecuta sin problemas con código roto, y el depurador simplemente se volverá a abrir cuando se encuentre un error (ya sea un error de sintaxis, un valor incorrecto o incluso una clase o un método que no existen). Esta técnica fue una de las principales influencias del desarrollo guiado por tests, y puedes probar este enfoque cuando intentes ejecutar el primer test de cualquier ejercicio. El depurador mostrará inmediatamente que no se encuentra tu clase de solución (ya que todavía no has escrito nada). Y, afortunadamente, hay un botón «Create» que te ayuda a añadir la clase que falta y a seguir ejecutando hasta que termine o se encuentre otro error.

Con tu primer test, te encontrarás después con un segundo error, ya que aún no has escrito ningún método. De nuevo, el botón «Create» del depurador te permite definir uno y seguir ejecutando. En este punto, también puedes hacer clic más abajo en la traza de la pila para revisar los requisitos del test que falla y modificar tu nuevo método para que se supere.
Más adelante en tu ciclo de desarrollo, también puede resultarte útil hacer clic más atrás en la pila y usar el botón «Restart» para reanudar la ejecución del programa en un punto anterior, de modo que puedas recorrer tu programa paso a paso y ver qué está pasando. Es una forma importante y útil de entender por qué tu programa no funciona.
Además de ver las variables en el depurador, también puedes seleccionar cualquier instrucción y hacer clic en inspect/print para ver el resultado de evaluarla. Esto puede resultarte útil para comprobar los resultados de un método o para examinar el estado interno de un objeto.

No olvides que también puedes hacer cambios en el código en vivo desde el depurador, y guardar un cambio hará que la ejecución se reinicie en el método que acabas de guardar. Esto te permite experimentar con cambios y ver sus resultados mientras sigues «en el momento».
En resumen, no tengas miedo de usar el depurador de Pharo; lo consideramos una herramienta valiosa que ayuda a entender y experimentar con un problema.
Si alguna vez necesitas ejecutar grupos de tests más grandes, puedes hacerlo desde el menú Package o usar la herramienta Test Runner (a la que puedes acceder desde el menú World o escribiendo <meta> + OU).
También puedes ejecutar tests de forma programática desde el playground evaluando con print:
AllExercismTests suite run.
Si quieres aprender más sobre el funcionamiento interno de los tests, puedes leer sobre SUnit o explorar el código de la jerarquía TestCase.
¿Sabías que...? TDD se inventó en Smalltalk con la introducción de la biblioteca de tests SUnit