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スクリプトの包括的なテストカバレッジを実現できます。