テストランチャーに関数名を渡すには?

テストランチャーに関数名を渡すには?

独自のテストランチャーを作成したいと思います。

do_test () {
  function_under_test=$1
  expected="$2"
  function_under_test $3  # <-- Line 32
  if [ $result -eq $expected ]; then
    printf '.'
  else
    printf 'F'
  fi
}

これにより、次のように呼び出すことができます。

do_test sum_squares 385 10

それから使用されます

sum_squares () {
  result=0
  num_in=$1
  for each_num in `seq $num_in`
  do
    result=$((result+(each_num*each_num)))
  done
}

function_under_test: not foundしかし、32行目に達しました。

答え1

と入力すると、function_under_testシェルはそれを変数ではなくコマンドだと思います。function_uneder_test拡張する必要があるのでsum_squares

32行目を次に変更します。

"$function_under_test" "$3"

関連情報