Actuellement, je fais des tests unitaires qui sont exécutés à partir de bash. Les tests unitaires sont initialisés, exécutés et nettoyés dans un script bash. Ce script contient généralement des fonctions init (), execute () et cleanup (). Mais ils ne sont pas obligatoires. Je voudrais tester s'ils sont définis ou non.
Je l'ai fait précédemment en greffe et en semant la source, mais cela semblait faux. Y a-t-il une manière plus élégante de faire cela?
Edit: Le sniplet suivant fonctionne comme un charme:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -t
et ==
.
type test_function
dit test_function on funktio.
lors de l'utilisation de la langue finlandaise et ist eine Funktion
lors de l'utilisation de l'allemand.
LC_ALL=C
à la resque
fn_exists foo || foo() { :; }