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