Fish Shell:
テストの作成
方法:
Fishには、他のプログラミング環境のような組み込みのテストフレームワークはありません。しかし、関数の動作をチェックするアサーションを使用する簡単なテストスクリプトを作成できます。さらに、より包括的なテストスイートには、fishtape
のようなサードパーティのツールを活用できます。
例1:基本的なテストスクリプト
2つの数値の合計を計算するFishの基本的な関数から始めましょう:
function add --description 'Add two numbers'
set -l sum (math $argv[1] + $argv[2])
echo $sum
end
この関数に対して基本的なテストスクリプトを次のように書くことができます:
function test_add
set -l result (add 3 4)
if test $result -eq 7
echo "test_add passed"
else
echo "test_add failed"
end
end
test_add
このスクリプトを実行すると、出力は以下のようになります:
test_add passed
例2:Fishtapeを使用して
より堅牢なテスト解決策には、Fish用のTAP生成テストランナーであるfishtape
を使用できます。
まず、まだインストールしていない場合はfishtape
をインストールします:
fisher install jorgebucaran/fishtape
次に、add
関数のためのテストファイルを作成します。例えば、add_test.fish
:
test "Adding 3 and 4 yields 7"
set result (add 3 4)
echo "$result" | fishtape
end
テストを実行するには、以下のコマンドを使用します:
fishtape add_test.fish
サンプル出力は以下のようになるかもしれません:
TAP version 13
# Adding 3 and 4 yields 7
ok 1 - test_add passed
これはテストが成功したことを示しています。fishtape
を使用すると、より詳細なテストを構築し、情報豊富な出力を提供してくれるため、デバッグが容易になり、Fishスクリプトの包括的なテストカバレッジを実現できます。