私は現在、テストスイートを実行するためのbashスクリプトを書いています。スイートをこのスクリプトに直接渡す以外に、
./bash-specs test.suite
また、スイートが渡されない場合は、特定のディレクトリ内のすべてのスクリプトを実行できる必要があります。
./bash-specs # executes all tests in the directory, namely test.suite
これはこのように実装されます
(($# == 0)) && set -- *.suite
したがって、スイートが渡されない場合、.suiteで終わるすべてのファイルが実行されます。これは正常に機能しますが、ディレクトリにそのようなファイルが含まれていない場合は失敗します。
つまり、その末尾のファイルが実際にあるかどうかをテストするためのチェックも必要になります。これをbashでどのように行うのですか?
私は次のようなテストを考えました
[[ -f *.suite ]]
動作するはずですが、ディレクトリに複数のファイルがある場合は失敗するようです。