В даний час я роблю одиничні тести, які виконуються з bash. Блокові тести ініціалізуються, виконуються та очищаються за допомогою bash-сценарію. Цей сценарій зазвичай містить функції init (), Execute () та очищення (). Але вони не є обов'язковими. Я хотів би перевірити, чи вони не визначені.
Я робив це раніше, зігріваючи та відкладаючи джерело, але це здавалося неправильним. Чи є більш елегантний спосіб це зробити?
Редагувати: Наступний фрагмент працює як шарм:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -t
і ==
.
type test_function
говорить test_function on funktio.
при використанні фінської мови та ist eine Funktion
при використанні німецької мови.
LC_ALL=C
в Resque
fn_exists foo || foo() { :; }