Common Lispトラックでのテスト

ExercismでCommon Lispの演習をテストする方法を学びましょう。


対話的にテストを実行する

作業中の演習のディレクトリで、使っているCommon Lisp処理系を起動してください(すでにCommon Lisp処理系を起動している場合は、そのカレントディレクトリをこの演習のディレクトリに変更してください)。roswellを使っている場合は、ros runで起動できます。

(ここでの例はすべてexercise-nameという演習を想定しています。適宜読み替えてください。)

起動中のLisp処理系にテストファイルを読み込みます。たとえば(load "exercise-name-test")です。(これは解答ファイルも同時に読み込んでくれます。)テストファイルを読み込んだら、REPLで(exercise-name-test:run-tests)を評価するとテストを実行できます。

書きかけの解答に変更を加えたら、エディターの機能を使ってその変更を読み込むか、(load "exercise-name")を評価して解答ファイルを読み込んでください。

更新した解答を読み込んだあとは、忘れずに(exercise-name-test:run-tests)を評価してテストを再実行しましょう。

コマンドラインからテストを実行する

次のコマンドでテストを起動できます(ここでも、2か所の「exercise」を適切な名前に置き換えてください)。

ros run --load exercise-test.lisp --eval '(uiop:quit (if (exercise-test:run-tests) 0 1))'

このコマンドはかなり扱いにくいものです。あるコントリビューターが、もっと手軽に実行する方法についてのメモを書いてくれています。