Attualmente sto facendo alcuni test unitari che vengono eseguiti da bash. I test unitari vengono inizializzati, eseguiti e ripuliti in uno script bash. Questo script di solito contiene una init (), execute () e cleanup () funzioni. Ma non sono obbligatori. Mi piacerebbe testare se sono o non sono definiti.
L'ho fatto in precedenza bestemmiando e sedando la fonte, ma sembrava sbagliato. C'è un modo più elegante per farlo?
Modifica: il seguente sniplet funziona come un incantesimo:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -te ==.
type test_functiondice test_function on funktio.quando si usa la localizzazione finlandese e ist eine Funktionquando si usa il tedesco.
LC_ALL=Cal
fn_exists foo || foo() { :; }