Prologトラックでのテスト

ExercismでPrologの演習をテストする方法を学びます。


SWI Prologは、対話形式で実行することも、コマンドラインで直接実行することもできます。

コマンドライン

コマンドラインからテストを実行するには、次のコマンドを使います。

swipl -f <exercise>.pl -s <exercise>_tests.plt -g run_tests,halt -t 'halt(1)'

<exercise>は、取り組んでいる演習の名前に置き換えてください。

対話形式

Prologを対話形式で実行するには、まず次のコマンドを実行します。

swipl

Prologのコンソールが起動したら、実装を読み込んで、次のようにしてテストを実行します。

?- ["<exercise>.pl"].
?- ["<exercise>_tests.plt"].
?- run_tests.

<exercise>は、取り組んでいる演習の名前に置き換えてください。

変更の再読み込み

上記のファイルを読み込んだあとは、次のコマンドを実行すると、加えた変更を反映できます。

?- make.

スキップされたテスト

演習を始めたばかりのときは、最初のテストだけが実行されます。残りのテストは、testゴールにcondition(pending)を追加することでスキップされています。 最初のテストが通ったら、condition(pending)のpendingをtrueに変えて、次のテストのスキップを解除します。 すべてのテストが実行されて通るまで、これを各テストについて繰り返します。

コマンドライン

コマンドの末尾に-- --all引数を追加すると、保留中のテストも実行されます。

swipl -f <exercise>.pl -s <exercise>_tests.plt -g run_tests,halt -t 'halt(1)' -- --all