Las pruebas se ejecutan después del programa. Pueden llamar a las funciones del alumno o correr el programa completo con una entrada dada.
@prueba("Aprueba con 4.0")
def _():
esperar(aprobado(4.0)).sea(True)
@prueba("Muestra el promedio")
def _():
esperar(salida("2\n7.0\n5.0\n")).contenga("Promedio: 6.0")
Para ejecutar
- salida(entrada)
- Ejecuta el programa completo con esa entrada (una línea por cada
input()) y devuelve lo que imprimió.
- funcion(...)
- Las funciones y variables del alumno se pueden usar directamente.
Para comprobar
- esperar(x).sea(y)
- Igualdad (
==).
- .cerca_de(y, 0.01)
- Número cercano a
y, útil con decimales.
- .contenga(y)
- El texto o la lista incluye
y.
- .mayor_que(n) · .menor_que(n)
- Comparaciones numéricas.
- .verdadero() · .falso() · .exista()
- Valor verdadero · falso · distinto de
None.
- .no.contenga(y)
.no invierte cualquier comprobación.
Las pruebas se ejecutan después del código, cuando la página terminó de cargar. Cada una aparece con ✔ o ✘ en el panel Pruebas.
prueba('El botón suma uno', () => {
clic('#boton');
esperar(texto('#contador')).sea('1');
});
Para interactuar con la página
- escribir(selector, texto)
- Escribe en un campo y dispara los eventos
input y change.
- clic(selector, veces)
- Hace clic una o varias veces.
- texto(selector)
- El texto visible del elemento.
- elemento(selector)
- El elemento, o
null si no existe. elementos() devuelve todos.
- await pausa(ms)
- Espera antes de seguir. La prueba debe ser
async.
Para comprobar
- esperar(x).sea(y)
- Igualdad exacta (
===).
- .igual(y)
- Mismo contenido, para arreglos y objetos.
- .contenga(y)
- El texto o arreglo incluye
y.
- .mayorQue(n) · .menorQue(n)
- Comparaciones numéricas.
- .verdadero() · .exista()
- Valor verdadero · distinto de
null y undefined.
- .no.sea(y)
.no invierte cualquier comprobación.