Closed asanzo closed 3 years ago
Están mal puestos los valores de los tests pero creo que se entiende el problema.
@fdodino Esto puede venir de la mano de que el diagrama dinámicoo fue pensado solamente para tests con only
, no? Estaría bueno que no te deje ejecutarlo si no tenés ninguno con eso (o que te muestre un mensajito o algo así).
Qué loco, no se me ocurrió que fuese posible ésto. Voy a ver cómo puedo agregarle controles, en principio la opción de ejecutar los tests con el diagrama dinámico activado está deshabilitado si seleccionás varios archivos, pero es más complicado hacer la validación basado en el archivo sin parsearlo antes.
En realidad lo enseñé mal yo la primera clase. Ni lo iba a decir y me apareció en la carita la opción y la expliqué diciendo "ah, se pueden correr así o así", sin explicar en ningún momento lo de que se puede correr uno sólo.
Por cierto ¿Cómo se corre uno solo? Hago click derecho en los tests de la pestaña "Tests de Wollok" y no hace nada. Selecciono uno en esa ventana y le doy al botoncito "correr con diagrama dinámico" pero los corre todos. Hago click derecho en el código sobre el nombre de un test, le doy Ejecutar como -> tests con diagrama dinámico pero también los corre todos.
Es como que en toda la interfaz lo que siento es que siempre tengo disponibles ambos botones (correr sin y con diagrama) y que no depende del contexto.
Hola @asanzo , mirate https://www.wollok.org/tour/ en particular el Test Runner te cuenta todo eso. Yo voy a mirarlo en cuanto pueda para ver si saco un fix. Me llama mucho la atención que ejecutarlo con o sin diagrama dinámico cambie los resultados, porque no debería modificar al intérprete.
¡Gracias, Dodine! Recuerdo haber visto el feature hace poco en alguna lista, haber dicho "que interesante que se diga por sintaxis y no por GUI" y olvidarme horriblemente luego. La clase que viene algo voy a contar de esto.
Bueno, empecé a verlo @asanzo. Una cosa rara es que si envolvés los tests en un describe funciona bien:
object pepita {
var property energia = 100
}
describe "pepita" {
test "modifica el estado" {
pepita.energia(50)
}
test "no debería ver lo del test anterior" {
assert.equals(50, pepita.energia())
}
}
no importa si lo ejecutás con o sin el diagrama dinámico
Sigo anotando acá qué encuentro.
¡Uh, alta pista esa!
.... Nada que ver pero: Me pone un poco nervioso que yo haya propuesto arriba tests incorrectos :sweat_smile:
Así los tests siempre deberían dar verde, así no hay que pensar:
object pepita {
var property energia = 100
}
test "modifica el estado" {
pepita.energia(50)
}
test "no debería ver lo del test anterior" {
assert.equals(100, pepita.energia())
}
(si dan amarillo, está mal)
Bueno, me costó bastante, el diseño del intérprete es bastante perfectible (tenemos llamadas recursivas que van llenando el stack de variables y parece mentira que activar el diagrama dinámico produce efecto colateral en el estado interno del intérprete). Por ahora agregué un flag adicional y con eso anduvo:
Voy a aprovechar para meter un fix más que tiene que ver con el describe (#1933)
¡Buenas!
¿Esto es esperable?
El segundo test da amarillo (lo esperable) cuando se corren los tests de forma normal, pero da verde corriendo con el diagrama dinámico.