ExercismでRの演習をテストする方法を学びましょう。
このトラックのテストでは、testthatパッケージを使います。
パッケージをインストールするには、Rを開いて次のコマンドを実行するだけです。
install.packages("testthat")
パッケージが正しくインストールされたかどうかは、次のコマンドを実行して確認できます。
library(testthat)
各演習には、test_<exercise-name>.Rという名前のスクリプトがあります(例:test_hello-world.R)。
演習のテストを実行するには、このRスクリプトを実行するだけです。
RStudioでは、テストスクリプトを開き、ソースペインの右上にある「Source」をクリックするだけです。すると、テストスクリプトの1行目にあるsourceコマンドによって解答コードが読み込まれ、そのあとに続くtestthatのテスト一式が実行されます。
ただし、テストスクリプトの1行目にあるsource()コマンドが機能するのは、解答スクリプト(<exercise-name>.R)が作業ディレクトリにある場合だけです。そうでない場合は、次のいずれかを行います。
setwd('exercism/r/hello-world/'))source('exercism/r/hello-world/hello-world.R'))コマンドラインからテストを実行したい場合は、Rscript path_to_exercise_directory/test_<exercise-name>.Rのように実行することもできます(例:Rscript hello-world/test_hello-world.R)。
これらのテストを実行するもう一つの便利な方法は、testthatのauto_test関数を使うことです。Exercismのコードとテストは同じフォルダーに置かれているので、code_pathとtest_pathの両方の仮引数に同じパスを指定します。auto_test()を実行すると、演習のRコードを更新または保存するたびに、その演習のテストが自動的に実行されます。これにより、解答に取り組んでいるときに、素早く繰り返し作業を進められます。