該当するテストファイルが存在するかを判定するシェルスクリプト

当初の動機は、「Railsのモデルのまだ生成してないテストファイルを一括で生成する」こと。
とりあえず存在するか判定してテストファイル名を出すところまではやった。

ただファイル名からクラス名を割り出すところまでやるのはRailsのclassifyとか使った方が楽なことに気づき、このあたりでやめることにした。

#!/bin/sh

files="./app/models/*"
for filepath in $files; do
    #echo $filepath
    filename=${filepath##*/}
    without_extension=${filename%.*}
    path=${filepath%/*}
    extension=${filepath##*.}
    test_filename=${without_extension}_test.rb
    testfile_path=test/models/${test_filename}
    test_class_name=

    #echo "filename: " ${filename}
    #echo "without_extension: " ${without_extension}
    #echo "path: " ${path}
    #echo "extension: " ${extension}
    #echo "test_filename: " ${test_filename}
    echo "testfile_path: " ${testfile_path}
    if [ -f ${testfile_path} ]
    then
        echo "Found"
    else
        echo "Not Found"