Atualmente estou fazendo alguns testes de unidade que são executados a partir do bash. Os testes de unidade são inicializados, executados e limpos em um script bash. Esse script geralmente contém as funções init (), execute () e cleanup (). Mas eles não são obrigatórios. Eu gostaria de testar se eles estão ou não definidos.
Eu fiz isso anteriormente, contornando e seduzindo a fonte, mas parecia errado. Existe uma maneira mais elegante de fazer isso?
Editar: O sniplet a seguir funciona como um encanto:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -t
e ==
.
type test_function
diz test_function on funktio.
ao usar a localidade finlandesa e ist eine Funktion
ao alemão.
LC_ALL=C
no
fn_exists foo || foo() { :; }