Actualmente estoy haciendo algunas pruebas unitarias que se ejecutan desde bash. Las pruebas unitarias se inicializan, ejecutan y limpian en un script bash. Este script generalmente contiene funciones init (), execute () y cleanup (). Pero no son obligatorios. Me gustaría probar si están o no definidos.
Hice esto previamente codificando y enviando la fuente, pero parecía estar mal. ¿Hay alguna forma más elegante de hacer esto?
Editar: el siguiente fragmento funciona como un encanto:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -t
y ==
.
type test_function
dice test_function on funktio.
cuando se usa la configuración regional finlandesa y ist eine Funktion
cuando se usa el alemán.
LC_ALL=C
en el resque
fn_exists foo || foo() { :; }